import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,4*np.pi, 10)
y = np.sin(x)
plt.plot(x,y)
plt.show
<function matplotlib.pyplot.show(close=None, block=None)>
x = 6
if x < 5:
print("cos")
else:
print("nie cos")
nie cos
for i in range(4):
print(i**2, end=", ")
0, 1, 4, 9,
x=5
while x>0:
print(x, end=", ")
x=x-1
5, 4, 3, 2, 1,
def kwadrat(x):
return (x**2)
kwadrat(10)
100
float("inf")*float("inf")
inf
format(0.3,".4f")
'0.3000'
1==1
0.3+0.3+0.3==0.9
False
1 is not 1.0
<>:1: SyntaxWarning: "is not" with a literal. Did you mean "!="? <>:1: SyntaxWarning: "is not" with a literal. Did you mean "!="? C:\Users\igors\AppData\Local\Temp/ipykernel_12268/2095918375.py:1: SyntaxWarning: "is not" with a literal. Did you mean "!="? 1 is not 1.0
True
print("Mam \"coś\" na ból \ngłowy")
Mam "coś" na ból głowy
x="biedronka"
x[len(x)-2]
'k'
x[0:1]
'b'
x[5:]
'onka'
x=[1,2,3,4]
len(x)
4
"wartość: %5.2f" % 7
'wartość: 7.00'
def logarytm(n):
k=0
s=1
while s<n:
s = s*2
k = k+1
return k-1
logarytm(3)
1
for nr in range(1,11):
print(nr, end=", " if nr < 10 else "\n")
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
x=[1,2,3]
for i in range(1,3):
x[i]*=3
x
[1, 6, 9]
def min3(x):
it = iter(x)
n1 = next(it)
n2 = n1
for e in it:
if e > n1:
n2 = n1
n1 = e
elif e > n2:
n2 = e
return n1,n2
min3([22,31,3,6,4,7,11,12,7,2,4])
(31, 22)
def min3(x):
it = iter(x)
n1 = next(it)
n2 = next(it)
return n1,n2
min3([22,31,3,6,4,7,11,12,7,2,4])
(22, 31)
def bmi(wzrost, waga):
if waga<=0 or wzrost<=0:
raise Exception("Kłamiesz!")
else:
bmi=waga/(wzrost/100)**2
return bmi
bmi(185,72)
21.0372534696859
def maks3(a,b,c):
return max(a,b,c)
maks3(5,16,7)
16
maks3([6],[5,5],[1,12])
[6]
def mnoz3(x):
return x*3
x1=2,5
mnoz3(x1)
(2, 5, 2, 5, 2, 5)
def potega(p):
return lambda x: x**p
troj = potega(3)
troj(4)
64
import this
dir(this)
this.c
import math
The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
import numpy as np
x = np.array([[1,2,3,4,5],[2,4,6,8,10],[10,20,15,25,30]])
x.ravel().reshape(5,3).dtype
dtype('int32')
z = np.array([[2.8,4.5],[1.2,3.8]])
z.dtype
dtype('float64')
d3 = np.array([
[[1,2,0,1],[5,6,7,8],[7,8,2,4]],
[[15,20,22,25],[5,2,7,6],[1,1,0,0]]
],dtype=np.float_)
d3
array([[[ 1., 2., 0., 1.],
[ 5., 6., 7., 8.],
[ 7., 8., 2., 4.]],
[[15., 20., 22., 25.],
[ 5., 2., 7., 6.],
[ 1., 1., 0., 0.]]])
np.arange(5.2)
array([0., 1., 2., 3., 4., 5.])
np.linspace(0,1,6)
array([0. , 0.2, 0.4, 0.6, 0.8, 1. ])
np.eye(5,4)
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[0., 0., 0., 0.]])
np.diag([1,1,5,1,1])
array([[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 5, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]])
np.random.randn(3,2)
array([[ 0.2510445 , -1.2322269 ],
[-0.29143157, -0.62156276],
[-0.75891124, -0.11199019]])
np.random.randint(0,10,(3,2))
array([[8, 5],
[6, 9],
[5, 0]])
prz=100+10*np.random.randn(10)
prz
array([106.61202279, 98.18588021, 91.16034904, 117.96779377,
94.21446582, 102.33310816, 123.4122745 , 98.60273562,
107.17367851, 83.72621422])
np.repeat(["R","M"],[9,8])
array(['R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'M', 'M', 'M', 'M',
'M', 'M', 'M', 'M'], dtype='<U1')
mac1=np.tile(["R","M"],(3,2))
mac1
array([['R', 'M', 'R', 'M'],
['R', 'M', 'R', 'M'],
['R', 'M', 'R', 'M']], dtype='<U1')
np.hstack((mac1,[["S"],["S"],["S"]]))
array([['R', 'M', 'R', 'M', 'S'],
['R', 'M', 'R', 'M', 'S'],
['R', 'M', 'R', 'M', 'S']], dtype='<U1')
np.insert(mac1,1,"S",axis=1)
array([['R', 'S', 'M', 'R', 'M'],
['R', 'S', 'M', 'R', 'M'],
['R', 'S', 'M', 'R', 'M']], dtype='<U1')
mac1[1:5:3]
array([['R', 'M', 'R', 'M']], dtype='<U1')
np.r_[0:5:2]
array([0, 2, 4])
A = np.arange(36)
A.reshape(6,-1)
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35]])
np.sin(np.r_[0,2*np.pi]) == 0
np.isclose(np.sin(np.r_[0,2*np.pi]),0)
array([ True, True])
x=[1,1,1,2,3,4,11,100]
np.r_[np.min(x),np.median(x),np.max(x)]
np.array([np.percentile(x,m) for m in [0,25,50,75,100]])
array([ 1. , 1. , 2.5 , 5.75, 100. ])
x=np.array(x)
np.all(x<1000)
True
iris = [np.r_[1,12,14,15,22,23].tolist(), np.arange(12).tolist(), 18,19]
iris
iris2 = []
for i in iris:
if type(i)==list:
for z in i:
iris2.append(z)
else:
iris2.append(i)
iris=np.array(iris2)
iris=iris.reshape(5,-1)
A=iris
((A-np.mean(A))/np.std(A)).reshape(5,-1)
array([[-1.22368678, 0.35990788, 0.64783418, 0.79179733],
[ 1.79953938, 1.94350253, -1.36764993, -1.22368678],
[-1.07972363, -0.93576048, -0.79179733, -0.64783418],
[-0.50387103, -0.35990788, -0.21594473, -0.07198158],
[ 0.07198158, 0.21594473, 1.22368678, 1.36764993]])
y=np.array([1,2,3,np.nan,5])
np.isnan(y).any()
np.nansum(y)
11.0
pip install scipy
Requirement already satisfied: scipy in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (1.8.1) Requirement already satisfied: numpy<1.25.0,>=1.17.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from scipy) (1.21.5) Note: you may need to restart the kernel to use updated packages.
import scipy.stats
import numpy as np
scipy.stats.rankdata((-1)*np.array((248, 285, 263, 263, 123)), method="min")
array([4, 1, 2, 2, 5], dtype=int64)
c=np.unique(np.array((248, 285, 263, 263, 123)))
c
array([123, 248, 263, 285])
c[(c<280) & (c>200)]
array([248, 263])
y = np.array([[15,18,20,22,24,27,31,35],[23,24,20,22,24,29,33,38]])
y[:,1]
array([18, 24])
for indeks, dane in enumerate(y):
print(indeks, ": ", dane)
0 : [15 18 20 22 24 27 31 35] 1 : [23 24 20 22 24 29 33 38]
y[np.ix_([0,1],[0,1,-1])]
array([[15, 18, 35],
[23, 24, 38]])
y[np.ix_([0,1],np.mean(y,axis=0)>22)]
array([[24, 27, 31, 35],
[24, 29, 33, 38]])
def dominanta(x):
liczba = np.unique(x)
tabela=[]
for i in liczba:
ind=np.count_nonzero(x==i)
tabela.append(ind)
np.argmax(tabela)
return liczba[np.argmax(tabela)]
dominanta([1,2,3,3,3,3,3,4,5,5,5,5,5])
3
m = np.random.permutation(10)
m
m.argsort()
m[m.argsort()]
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
import numpy as np
import pandas as pd
pd.__version__
'1.4.1'
pd.read_csv("C:/Users/igors/Documents/Zeszyt1.csv", sep=",", decimal=".")
| A | B | C | |
|---|---|---|---|
| 0 | 1,"k",7.5 | NaN | NaN |
| 1 | 2,"m",8.1 | NaN | NaN |
| 2 | 3,"k",9.7 | NaN | NaN |
| 3 | 4,"k",1.3 | NaN | NaN |
| 4 | 5,"m",2.3 | NaN | NaN |
| 5 | 6,"m",4.6 | NaN | NaN |
| 6 | 7,"k",3.1 | NaN | NaN |
pip install seaborn
Requirement already satisfied: seaborn in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (0.11.2) Requirement already satisfied: numpy>=1.15 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (1.21.5) Requirement already satisfied: pandas>=0.23 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (1.4.1) Requirement already satisfied: matplotlib>=2.2 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (3.5.1) Requirement already satisfied: scipy>=1.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn) (1.8.1) Requirement already satisfied: packaging>=20.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (21.3) Requirement already satisfied: python-dateutil>=2.7 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (2.8.2) Requirement already satisfied: pillow>=6.2.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (9.0.1) Requirement already satisfied: pyparsing>=2.2.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (3.0.4) Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (1.4.2) Requirement already satisfied: cycler>=0.10 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (0.11.0) Requirement already satisfied: fonttools>=4.22.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib>=2.2->seaborn) (4.25.0) Requirement already satisfied: pytz>=2020.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.23->seaborn) (2021.3) Requirement already satisfied: six>=1.5 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from python-dateutil>=2.7->matplotlib>=2.2->seaborn) (1.16.0) Note: you may need to restart the kernel to use updated packages.
import seaborn as sns
flights = sns.load_dataset("flights")
tips = sns.load_dataset("tips")
xx = pd.DataFrame({
"Numer" : np.round(np.random.uniform(0,1,5),2),
"Kraj" : ["Algeria","Tunezja","Maroko","Egipt","Libia"],
"Miasto" : ["Algier","Tunis","Rabat","Kair","Tripolis"]
})
xx
| Numer | Kraj | Miasto | |
|---|---|---|---|
| 0 | 0.90 | Algeria | Algier |
| 1 | 0.91 | Tunezja | Tunis |
| 2 | 0.53 | Maroko | Rabat |
| 3 | 0.10 | Egipt | Kair |
| 4 | 0.56 | Libia | Tripolis |
xx.size
15
flights.head()
| year | month | passengers | |
|---|---|---|---|
| 0 | 1949 | Jan | 112 |
| 1 | 1949 | Feb | 118 |
| 2 | 1949 | Mar | 132 |
| 3 | 1949 | Apr | 129 |
| 4 | 1949 | May | 121 |
flights.tail()
| year | month | passengers | |
|---|---|---|---|
| 139 | 1960 | Aug | 606 |
| 140 | 1960 | Sep | 508 |
| 141 | 1960 | Oct | 461 |
| 142 | 1960 | Nov | 390 |
| 143 | 1960 | Dec | 432 |
flights.dtypes
year int64 month category passengers int64 dtype: object
flights.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 144 entries, 0 to 143 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 year 144 non-null int64 1 month 144 non-null category 2 passengers 144 non-null int64 dtypes: category(1), int64(2) memory usage: 2.9 KB
flights["year"]
0 1949
1 1949
2 1949
3 1949
4 1949
...
139 1960
140 1960
141 1960
142 1960
143 1960
Name: year, Length: 144, dtype: int64
pd.Series(np.r_[np.nan,0:1:11j])
0 NaN 1 0.0 2 0.1 3 0.2 4 0.3 5 0.4 6 0.5 7 0.6 8 0.7 9 0.8 10 0.9 11 1.0 dtype: float64
flights.year.values
array([1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949,
1949, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950,
1950, 1950, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951,
1951, 1951, 1951, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952,
1952, 1952, 1952, 1952, 1953, 1953, 1953, 1953, 1953, 1953, 1953,
1953, 1953, 1953, 1953, 1953, 1954, 1954, 1954, 1954, 1954, 1954,
1954, 1954, 1954, 1954, 1954, 1954, 1955, 1955, 1955, 1955, 1955,
1955, 1955, 1955, 1955, 1955, 1955, 1955, 1956, 1956, 1956, 1956,
1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1957, 1957, 1957,
1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1958, 1958,
1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1959,
1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959,
1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960,
1960], dtype=int64)
pd.Series(pd.date_range("2022-07-15","2022-08-12",freq="72H"))
0 2022-07-15 1 2022-07-18 2 2022-07-21 3 2022-07-24 4 2022-07-27 5 2022-07-30 6 2022-08-02 7 2022-08-05 8 2022-08-08 9 2022-08-11 dtype: datetime64[ns]
daty=pd.Series(pd.date_range(
start=str(flights.year.values.min()),
end=str(flights.year.values.max()+1),
freq="1M"))
daty
0 1949-01-31
1 1949-02-28
2 1949-03-31
3 1949-04-30
4 1949-05-31
...
139 1960-08-31
140 1960-09-30
141 1960-10-31
142 1960-11-30
143 1960-12-31
Length: 144, dtype: datetime64[ns]
flights2 = flights.copy()
flights2["daty"]=daty
flights2
| year | month | passengers | daty | |
|---|---|---|---|---|
| 0 | 1949 | Jan | 112 | 1949-01-31 |
| 1 | 1949 | Feb | 118 | 1949-02-28 |
| 2 | 1949 | Mar | 132 | 1949-03-31 |
| 3 | 1949 | Apr | 129 | 1949-04-30 |
| 4 | 1949 | May | 121 | 1949-05-31 |
| ... | ... | ... | ... | ... |
| 139 | 1960 | Aug | 606 | 1960-08-31 |
| 140 | 1960 | Sep | 508 | 1960-09-30 |
| 141 | 1960 | Oct | 461 | 1960-10-31 |
| 142 | 1960 | Nov | 390 | 1960-11-30 |
| 143 | 1960 | Dec | 432 | 1960-12-31 |
144 rows × 4 columns
p=pd.Series(pd.Categorical(["Mocarstwo","Mocarstwo","Hipermocarstwo","Supermocarstwo","Mocarstwo"],categories=["Mocarstwo","Supermocarstwo","Hipermocarstwo"],ordered=True))
xx.Numer.values
array([0.9 , 0.91, 0.53, 0.1 , 0.56])
pd.cut(xx.Numer, np.r_[0,0.1,0.8,1],labels=["mało","średnio","dużo"])
0 dużo 1 dużo 2 średnio 3 mało 4 średnio Name: Numer, dtype: category Categories (3, object): ['mało' < 'średnio' < 'dużo']
p.cat.codes
0 0 1 0 2 2 3 1 4 0 dtype: int8
#p = p.cat.add_categories("Ultramocarz")
#p[0] = "Ultramocarz"
#p.sort_values()
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in __setitem__(self, key, value) 1084 try: -> 1085 self._set_with_engine(key, value) 1086 except (KeyError, ValueError): ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_with_engine(self, key, value) 1148 # this is equivalent to self._values[key] = value -> 1149 self._mgr.setitem_inplace(loc, value) 1150 ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\base.py in setitem_inplace(self, indexer, value) 189 --> 190 arr[indexer] = value 191 ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\_mixins.py in __setitem__(self, key, value) 248 key = check_array_indexer(self, key) --> 249 value = self._validate_setitem_value(value) 250 self._ndarray[key] = value ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_setitem_value(self, value) 1456 else: -> 1457 return self._validate_scalar(value) 1458 ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_scalar(self, fill_value) 1483 else: -> 1484 raise TypeError( 1485 "Cannot setitem on a Categorical with a new " TypeError: Cannot setitem on a Categorical with a new category (Ultramocarz), set the categories first During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/1336220231.py in <module> 1 #p = p.cat.add_categories("Ultramocarz") ----> 2 p[0] = "Ultramocarz" 3 p.sort_values() ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in __setitem__(self, key, value) 1138 1139 else: -> 1140 self._set_with(key, value) 1141 1142 if cacher_needs_updating: ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_with(self, key, value) 1165 if key_type == "integer": 1166 if not self.index._should_fallback_to_positional: -> 1167 self._set_labels(key, value) 1168 else: 1169 self._set_values(key, value) ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_labels(self, key, value) 1177 if mask.any(): 1178 raise KeyError(f"{key[mask]} not in index") -> 1179 self._set_values(indexer, value) 1180 1181 def _set_values(self, key, value) -> None: ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\series.py in _set_values(self, key, value) 1183 key = key._values 1184 -> 1185 self._mgr = self._mgr.setitem(indexer=key, value=value) 1186 self._maybe_update_cacher() 1187 ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\managers.py in setitem(self, indexer, value) 335 For SingleBlockManager, this backs s[indexer] = value 336 """ --> 337 return self.apply("setitem", indexer=indexer, value=value) 338 339 def putmask(self, mask, new, align: bool = True): ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\managers.py in apply(self, f, align_keys, ignore_failures, **kwargs) 302 applied = b.apply(f, **kwargs) 303 else: --> 304 applied = getattr(b, f)(**kwargs) 305 except (TypeError, NotImplementedError): 306 if not ignore_failures: ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\blocks.py in setitem(self, indexer, value) 1602 1603 check_setitem_lengths(indexer, value, self.values) -> 1604 self.values[indexer] = value 1605 return self 1606 ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\_mixins.py in __setitem__(self, key, value) 247 def __setitem__(self, key, value): 248 key = check_array_indexer(self, key) --> 249 value = self._validate_setitem_value(value) 250 self._ndarray[key] = value 251 ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_setitem_value(self, value) 1455 return self._validate_listlike(value) 1456 else: -> 1457 return self._validate_scalar(value) 1458 1459 _validate_searchsorted_value = _validate_setitem_value ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\arrays\categorical.py in _validate_scalar(self, fill_value) 1482 fill_value = self._unbox_scalar(fill_value) 1483 else: -> 1484 raise TypeError( 1485 "Cannot setitem on a Categorical with a new " 1486 f"category ({fill_value}), set the categories first" TypeError: Cannot setitem on a Categorical with a new category (Ultramocarz), set the categories first
flights.index
RangeIndex(start=0, stop=144, step=1)
flights.columns
Index(['year', 'month', 'passengers'], dtype='object')
flights.month.index
RangeIndex(start=0, stop=144, step=1)
flights2 = flights.copy()
flights2 = flights2.set_index([flights2.year])
flights2
| year | month | passengers | |
|---|---|---|---|
| year | |||
| 1949 | 1949 | Jan | 112 |
| 1949 | 1949 | Feb | 118 |
| 1949 | 1949 | Mar | 132 |
| 1949 | 1949 | Apr | 129 |
| 1949 | 1949 | May | 121 |
| ... | ... | ... | ... |
| 1960 | 1960 | Aug | 606 |
| 1960 | 1960 | Sep | 508 |
| 1960 | 1960 | Oct | 461 |
| 1960 | 1960 | Nov | 390 |
| 1960 | 1960 | Dec | 432 |
144 rows × 3 columns
flights2.index.name = "LATA"
flights2.columns.name = "DANE"
flights2
| DANE | year | month | passengers |
|---|---|---|---|
| LATA | |||
| 1949 | 1949 | Jan | 112 |
| 1949 | 1949 | Feb | 118 |
| 1949 | 1949 | Mar | 132 |
| 1949 | 1949 | Apr | 129 |
| 1949 | 1949 | May | 121 |
| ... | ... | ... | ... |
| 1960 | 1960 | Aug | 606 |
| 1960 | 1960 | Sep | 508 |
| 1960 | 1960 | Oct | 461 |
| 1960 | 1960 | Nov | 390 |
| 1960 | 1960 | Dec | 432 |
144 rows × 3 columns
y = pd.DataFrame({
"A":np.round(np.random.uniform(0,1,6),2)
})
y.index = pd.MultiIndex(
levels = [["x","y","z"],[1,2,3,4]],
codes = [[0,0,0,1,2,1],
[0,1,3,0,1,2]],
names = ["i1","i2"]
)
y
| A | ||
|---|---|---|
| i1 | i2 | |
| x | 1 | 0.96 |
| 2 | 0.19 | |
| 4 | 0.43 | |
| y | 1 | 0.95 |
| z | 2 | 0.37 |
| y | 3 | 0.78 |
b = pd.Series(np.round(np.random.uniform(0,1,10),2))
i = np.r_[0:10]
np.random.shuffle(i)
b.index=i
b
9 0.73 5 0.92 2 0.11 4 0.00 1 0.46 8 0.50 3 0.95 0 0.71 6 0.01 7 0.49 dtype: float64
b[0:2]
9 0.73 5 0.92 dtype: float64
b[::-3]
7 0.49 3 0.95 4 0.00 9 0.73 dtype: float64
b[b.values>0.6]
9 0.73 5 0.92 3 0.95 0 0.71 dtype: float64
b.values[[0,1]]
array([0.73, 0.92])
b[[0,1]]
0 0.71 1 0.46 dtype: float64
b
9 0.73 5 0.92 2 0.11 4 0.00 1 0.46 8 0.50 3 0.95 0 0.71 6 0.01 7 0.49 dtype: float64
b.iloc[0:6]
9 0.73 5 0.92 2 0.11 4 0.00 1 0.46 8 0.50 dtype: float64
b[0:6]
9 0.73 5 0.92 2 0.11 4 0.00 1 0.46 8 0.50 dtype: float64
b.loc[0:7]
0 0.71 6 0.01 7 0.49 dtype: float64
b.iloc[b.values>0.7]
9 0.73 5 0.92 3 0.95 0 0.71 dtype: float64
flights2 = flights.copy()
daty = pd.date_range(
str(flights.year.min()),
str(flights.year.max()+1),
freq="1M"
)
flights2.index = daty
flights2
| year | month | passengers | |
|---|---|---|---|
| 1949-01-31 | 1949 | Jan | 112 |
| 1949-02-28 | 1949 | Feb | 118 |
| 1949-03-31 | 1949 | Mar | 132 |
| 1949-04-30 | 1949 | Apr | 129 |
| 1949-05-31 | 1949 | May | 121 |
| ... | ... | ... | ... |
| 1960-08-31 | 1960 | Aug | 606 |
| 1960-09-30 | 1960 | Sep | 508 |
| 1960-10-31 | 1960 | Oct | 461 |
| 1960-11-30 | 1960 | Nov | 390 |
| 1960-12-31 | 1960 | Dec | 432 |
144 rows × 3 columns
flights2.loc["1949-01-31":"1949-04-30"]
| year | month | passengers | |
|---|---|---|---|
| 1949-01-31 | 1949 | Jan | 112 |
| 1949-02-28 | 1949 | Feb | 118 |
| 1949-03-31 | 1949 | Mar | 132 |
| 1949-04-30 | 1949 | Apr | 129 |
y.loc["x"]
| A | |
|---|---|
| i2 | |
| 1 | 0.96 |
| 2 | 0.19 |
| 4 | 0.43 |
y.loc["x",4]
A 0.43 Name: (x, 4), dtype: float64
flights[["year","month"]]
| year | month | |
|---|---|---|
| 0 | 1949 | Jan |
| 1 | 1949 | Feb |
| 2 | 1949 | Mar |
| 3 | 1949 | Apr |
| 4 | 1949 | May |
| ... | ... | ... |
| 139 | 1960 | Aug |
| 140 | 1960 | Sep |
| 141 | 1960 | Oct |
| 142 | 1960 | Nov |
| 143 | 1960 | Dec |
144 rows × 2 columns
flights.iloc[:,0:2:1]
| year | month | |
|---|---|---|
| 0 | 1949 | Jan |
| 1 | 1949 | Feb |
| 2 | 1949 | Mar |
| 3 | 1949 | Apr |
| 4 | 1949 | May |
| ... | ... | ... |
| 139 | 1960 | Aug |
| 140 | 1960 | Sep |
| 141 | 1960 | Oct |
| 142 | 1960 | Nov |
| 143 | 1960 | Dec |
144 rows × 2 columns
flights.loc[0:10,"year":"passengers"]
| year | month | passengers | |
|---|---|---|---|
| 0 | 1949 | Jan | 112 |
| 1 | 1949 | Feb | 118 |
| 2 | 1949 | Mar | 132 |
| 3 | 1949 | Apr | 129 |
| 4 | 1949 | May | 121 |
| 5 | 1949 | Jun | 135 |
| 6 | 1949 | Jul | 148 |
| 7 | 1949 | Aug | 148 |
| 8 | 1949 | Sep | 136 |
| 9 | 1949 | Oct | 119 |
| 10 | 1949 | Nov | 104 |
flights.loc[[1,2,3],"year":"passengers"]
| year | month | passengers | |
|---|---|---|---|
| 1 | 1949 | Feb | 118 |
| 2 | 1949 | Mar | 132 |
| 3 | 1949 | Apr | 129 |
flights.sample(n=3,random_state=3)
| year | month | passengers | |
|---|---|---|---|
| 25 | 1951 | Feb | 150 |
| 6 | 1949 | Jul | 148 |
| 3 | 1949 | Apr | 129 |
flights.sample(frac=0.1)
| year | month | passengers | |
|---|---|---|---|
| 56 | 1953 | Sep | 237 |
| 120 | 1959 | Jan | 360 |
| 115 | 1958 | Aug | 505 |
| 76 | 1955 | May | 270 |
| 83 | 1955 | Dec | 278 |
| 31 | 1951 | Aug | 199 |
| 143 | 1960 | Dec | 432 |
| 9 | 1949 | Oct | 119 |
| 80 | 1955 | Sep | 312 |
| 22 | 1950 | Nov | 114 |
| 118 | 1958 | Nov | 310 |
| 85 | 1956 | Feb | 277 |
| 10 | 1949 | Nov | 104 |
| 16 | 1950 | May | 125 |
flights01=flights.sample(frac=0.8)
flights01
| year | month | passengers | |
|---|---|---|---|
| 125 | 1959 | Jun | 472 |
| 113 | 1958 | Jun | 435 |
| 96 | 1957 | Jan | 315 |
| 10 | 1949 | Nov | 104 |
| 86 | 1956 | Mar | 317 |
| ... | ... | ... | ... |
| 65 | 1954 | Jun | 264 |
| 15 | 1950 | Apr | 135 |
| 99 | 1957 | Apr | 348 |
| 8 | 1949 | Sep | 136 |
| 42 | 1952 | Jul | 230 |
115 rows × 3 columns
flights02=flights.iloc[~flights.index.isin(flights01.index)]
flights02
| year | month | passengers | |
|---|---|---|---|
| 0 | 1949 | Jan | 112 |
| 2 | 1949 | Mar | 132 |
| 13 | 1950 | Feb | 126 |
| 21 | 1950 | Oct | 133 |
| 25 | 1951 | Feb | 150 |
| 27 | 1951 | Apr | 163 |
| 30 | 1951 | Jul | 199 |
| 35 | 1951 | Dec | 166 |
| 38 | 1952 | Mar | 193 |
| 43 | 1952 | Aug | 242 |
| 45 | 1952 | Oct | 191 |
| 50 | 1953 | Mar | 236 |
| 55 | 1953 | Aug | 272 |
| 58 | 1953 | Nov | 180 |
| 60 | 1954 | Jan | 204 |
| 63 | 1954 | Apr | 227 |
| 64 | 1954 | May | 234 |
| 71 | 1954 | Dec | 229 |
| 84 | 1956 | Jan | 284 |
| 91 | 1956 | Aug | 405 |
| 97 | 1957 | Feb | 301 |
| 106 | 1957 | Nov | 305 |
| 110 | 1958 | Mar | 362 |
| 119 | 1958 | Dec | 337 |
| 124 | 1959 | May | 420 |
| 126 | 1959 | Jul | 548 |
| 129 | 1959 | Oct | 407 |
| 137 | 1960 | Jun | 535 |
| 142 | 1960 | Nov | 390 |
import pandas as pd
import numpy as np
flights.insert(3,"passengers (k)",flights.passengers/1000)
flights.iloc[1:]
| year | month | passengers | passengers (k) | |
|---|---|---|---|---|
| 1 | 1949 | Feb | 118 | 0.118 |
| 2 | 1949 | Mar | 132 | 0.132 |
| 3 | 1949 | Apr | 129 | 0.129 |
| 4 | 1949 | May | 121 | 0.121 |
| 5 | 1949 | Jun | 135 | 0.135 |
| ... | ... | ... | ... | ... |
| 139 | 1960 | Aug | 606 | 0.606 |
| 140 | 1960 | Sep | 508 | 0.508 |
| 141 | 1960 | Oct | 461 | 0.461 |
| 142 | 1960 | Nov | 390 | 0.390 |
| 143 | 1960 | Dec | 432 | 0.432 |
143 rows × 4 columns
flights.iloc[:-1]
| year | month | passengers | passengers (k) | |
|---|---|---|---|---|
| 0 | 1949 | Jan | 112 | 0.112 |
| 1 | 1949 | Feb | 118 | 0.118 |
| 2 | 1949 | Mar | 132 | 0.132 |
| 3 | 1949 | Apr | 129 | 0.129 |
| 4 | 1949 | May | 121 | 0.121 |
| ... | ... | ... | ... | ... |
| 138 | 1960 | Jul | 622 | 0.622 |
| 139 | 1960 | Aug | 606 | 0.606 |
| 140 | 1960 | Sep | 508 | 0.508 |
| 141 | 1960 | Oct | 461 | 0.461 |
| 142 | 1960 | Nov | 390 | 0.390 |
143 rows × 4 columns
flights.iloc[-1]
year 1960 month Dec passengers 432 passengers (k) 0.432 Name: 143, dtype: object
flights.describe()
| year | passengers | passengers (k) | |
|---|---|---|---|
| count | 144.000000 | 144.000000 | 144.000000 |
| mean | 1954.500000 | 280.298611 | 0.280299 |
| std | 3.464102 | 119.966317 | 0.119966 |
| min | 1949.000000 | 104.000000 | 0.104000 |
| 25% | 1951.750000 | 180.000000 | 0.180000 |
| 50% | 1954.500000 | 265.500000 | 0.265500 |
| 75% | 1957.250000 | 360.500000 | 0.360500 |
| max | 1960.000000 | 622.000000 | 0.622000 |
pd.pivot_table(flights[["month", "passengers"]],index=["month"], aggfunc="mean")
| passengers | |
|---|---|
| month | |
| Jan | 241.750000 |
| Feb | 235.000000 |
| Mar | 270.166667 |
| Apr | 267.083333 |
| May | 271.833333 |
| Jun | 311.666667 |
| Jul | 351.333333 |
| Aug | 351.083333 |
| Sep | 302.416667 |
| Oct | 266.583333 |
| Nov | 232.833333 |
| Dec | 261.833333 |
flights.groupby("year")
rok = iter(flights.groupby("year"))
next(rok)
(1949,
year month passengers passengers (k)
0 1949 Jan 112 0.112
1 1949 Feb 118 0.118
2 1949 Mar 132 0.132
3 1949 Apr 129 0.129
4 1949 May 121 0.121
5 1949 Jun 135 0.135
6 1949 Jul 148 0.148
7 1949 Aug 148 0.148
8 1949 Sep 136 0.136
9 1949 Oct 119 0.119
10 1949 Nov 104 0.104
11 1949 Dec 118 0.118)
flights["passengers"].groupby(flights["year"]).apply(np.sum)
year 1949 1520 1950 1676 1951 2042 1952 2364 1953 2700 1954 2867 1955 3408 1956 3939 1957 4421 1958 4572 1959 5140 1960 5714 Name: passengers, dtype: int64
flights.groupby("year").mean()
| passengers | passengers (k) | |
|---|---|---|
| year | ||
| 1949 | 126.666667 | 0.126667 |
| 1950 | 139.666667 | 0.139667 |
| 1951 | 170.166667 | 0.170167 |
| 1952 | 197.000000 | 0.197000 |
| 1953 | 225.000000 | 0.225000 |
| 1954 | 238.916667 | 0.238917 |
| 1955 | 284.000000 | 0.284000 |
| 1956 | 328.250000 | 0.328250 |
| 1957 | 368.416667 | 0.368417 |
| 1958 | 381.000000 | 0.381000 |
| 1959 | 428.333333 | 0.428333 |
| 1960 | 476.166667 | 0.476167 |
flights.month.value_counts()
Jan 12 Feb 12 Mar 12 Apr 12 May 12 Jun 12 Jul 12 Aug 12 Sep 12 Oct 12 Nov 12 Dec 12 Name: month, dtype: int64
flights.sort_values(by="month")
| year | month | passengers | passengers (k) | |
|---|---|---|---|---|
| 0 | 1949 | Jan | 112 | 0.112 |
| 120 | 1959 | Jan | 360 | 0.360 |
| 108 | 1958 | Jan | 340 | 0.340 |
| 96 | 1957 | Jan | 315 | 0.315 |
| 84 | 1956 | Jan | 284 | 0.284 |
| ... | ... | ... | ... | ... |
| 35 | 1951 | Dec | 166 | 0.166 |
| 23 | 1950 | Dec | 140 | 0.140 |
| 11 | 1949 | Dec | 118 | 0.118 |
| 131 | 1959 | Dec | 405 | 0.405 |
| 143 | 1960 | Dec | 432 | 0.432 |
144 rows × 4 columns
flights.groupby("year").mean().round(1).transpose().iloc[:,0:5]
| year | 1949 | 1950 | 1951 | 1952 | 1953 |
|---|---|---|---|---|---|
| passengers | 126.7 | 139.7 | 170.2 | 197.0 | 225.0 |
| passengers (k) | 0.1 | 0.1 | 0.2 | 0.2 | 0.2 |
flights_stack = flights.stack()
flights_stack.head(15)
0 year 1949 month Jan passengers 112 passengers (k) 0.112 1 year 1949 month Feb passengers 118 passengers (k) 0.118 2 year 1949 month Mar passengers 132 passengers (k) 0.132 3 year 1949 month Apr passengers 129 dtype: object
flights.groupby("year").describe().iloc[:,1:7]
| passengers | ||||||
|---|---|---|---|---|---|---|
| mean | std | min | 25% | 50% | 75% | |
| year | ||||||
| 1949 | 126.666667 | 13.720147 | 104.0 | 118.00 | 125.0 | 135.25 |
| 1950 | 139.666667 | 19.070841 | 114.0 | 125.75 | 137.5 | 151.25 |
| 1951 | 170.166667 | 18.438267 | 145.0 | 159.00 | 169.0 | 179.50 |
| 1952 | 197.000000 | 22.966379 | 171.0 | 180.75 | 192.0 | 211.25 |
| 1953 | 225.000000 | 28.466887 | 180.0 | 199.75 | 232.0 | 238.50 |
| 1954 | 238.916667 | 34.924486 | 188.0 | 221.25 | 231.5 | 260.25 |
| 1955 | 284.000000 | 42.140458 | 233.0 | 260.75 | 272.0 | 312.75 |
| 1956 | 328.250000 | 47.861780 | 271.0 | 300.50 | 315.0 | 359.75 |
| 1957 | 368.416667 | 57.890898 | 301.0 | 330.75 | 351.5 | 408.50 |
| 1958 | 381.000000 | 64.530472 | 310.0 | 339.25 | 360.5 | 411.75 |
| 1959 | 428.333333 | 69.830097 | 342.0 | 387.50 | 406.5 | 465.25 |
| 1960 | 476.166667 | 77.737125 | 390.0 | 418.50 | 461.0 | 514.75 |
flights_pivot = flights.pivot("year","month","passengers")
flights_pivot
| month | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| year | ||||||||||||
| 1949 | 112 | 118 | 132 | 129 | 121 | 135 | 148 | 148 | 136 | 119 | 104 | 118 |
| 1950 | 115 | 126 | 141 | 135 | 125 | 149 | 170 | 170 | 158 | 133 | 114 | 140 |
| 1951 | 145 | 150 | 178 | 163 | 172 | 178 | 199 | 199 | 184 | 162 | 146 | 166 |
| 1952 | 171 | 180 | 193 | 181 | 183 | 218 | 230 | 242 | 209 | 191 | 172 | 194 |
| 1953 | 196 | 196 | 236 | 235 | 229 | 243 | 264 | 272 | 237 | 211 | 180 | 201 |
| 1954 | 204 | 188 | 235 | 227 | 234 | 264 | 302 | 293 | 259 | 229 | 203 | 229 |
| 1955 | 242 | 233 | 267 | 269 | 270 | 315 | 364 | 347 | 312 | 274 | 237 | 278 |
| 1956 | 284 | 277 | 317 | 313 | 318 | 374 | 413 | 405 | 355 | 306 | 271 | 306 |
| 1957 | 315 | 301 | 356 | 348 | 355 | 422 | 465 | 467 | 404 | 347 | 305 | 336 |
| 1958 | 340 | 318 | 362 | 348 | 363 | 435 | 491 | 505 | 404 | 359 | 310 | 337 |
| 1959 | 360 | 342 | 406 | 396 | 420 | 472 | 548 | 559 | 463 | 407 | 362 | 405 |
| 1960 | 417 | 391 | 419 | 461 | 472 | 535 | 622 | 606 | 508 | 461 | 390 | 432 |
ff=flights_pivot.unstack().reset_index()
ff
| month | year | 0 | |
|---|---|---|---|
| 0 | Jan | 1949 | 112 |
| 1 | Jan | 1950 | 115 |
| 2 | Jan | 1951 | 145 |
| 3 | Jan | 1952 | 171 |
| 4 | Jan | 1953 | 196 |
| ... | ... | ... | ... |
| 139 | Dec | 1956 | 306 |
| 140 | Dec | 1957 | 336 |
| 141 | Dec | 1958 | 337 |
| 142 | Dec | 1959 | 405 |
| 143 | Dec | 1960 | 432 |
144 rows × 3 columns
ff3 = pd.melt(flights,"month",var_name = "year")
ff3
| month | year | value | |
|---|---|---|---|
| 0 | Jan | year | 1949.000 |
| 1 | Feb | year | 1949.000 |
| 2 | Mar | year | 1949.000 |
| 3 | Apr | year | 1949.000 |
| 4 | May | year | 1949.000 |
| ... | ... | ... | ... |
| 427 | Aug | passengers (k) | 0.606 |
| 428 | Sep | passengers (k) | 0.508 |
| 429 | Oct | passengers (k) | 0.461 |
| 430 | Nov | passengers (k) | 0.390 |
| 431 | Dec | passengers (k) | 0.432 |
432 rows × 3 columns
ff4 = flights.copy()
ff4.iloc[3,2] = np.nan
ff4
| year | month | passengers | passengers (k) | |
|---|---|---|---|---|
| 0 | 1949 | Jan | 112.0 | 0.112 |
| 1 | 1949 | Feb | 118.0 | 0.118 |
| 2 | 1949 | Mar | 132.0 | 0.132 |
| 3 | 1949 | Apr | NaN | 0.129 |
| 4 | 1949 | May | 121.0 | 0.121 |
| ... | ... | ... | ... | ... |
| 139 | 1960 | Aug | 606.0 | 0.606 |
| 140 | 1960 | Sep | 508.0 | 0.508 |
| 141 | 1960 | Oct | 461.0 | 0.461 |
| 142 | 1960 | Nov | 390.0 | 0.390 |
| 143 | 1960 | Dec | 432.0 | 0.432 |
144 rows × 4 columns
ff4.isnull().values
array([[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, True, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False],
[False, False, False, False]])
ff4.count()
year 144 month 144 passengers 143 passengers (k) 144 dtype: int64
ff4.dropna()
| year | month | passengers | passengers (k) | |
|---|---|---|---|---|
| 0 | 1949 | Jan | 112.0 | 0.112 |
| 1 | 1949 | Feb | 118.0 | 0.118 |
| 2 | 1949 | Mar | 132.0 | 0.132 |
| 4 | 1949 | May | 121.0 | 0.121 |
| 5 | 1949 | Jun | 135.0 | 0.135 |
| ... | ... | ... | ... | ... |
| 139 | 1960 | Aug | 606.0 | 0.606 |
| 140 | 1960 | Sep | 508.0 | 0.508 |
| 141 | 1960 | Oct | 461.0 | 0.461 |
| 142 | 1960 | Nov | 390.0 | 0.390 |
| 143 | 1960 | Dec | 432.0 | 0.432 |
143 rows × 4 columns
ff4["passengers"].fillna(value=120)
0 112.0
1 118.0
2 132.0
3 120.0
4 121.0
...
139 606.0
140 508.0
141 461.0
142 390.0
143 432.0
Name: passengers, Length: 144, dtype: float64
import string
import re
import unicodedata
import textwrap
import numpy as np
import pandas as pd
x = "Łoś ugryzł kiedyś Paulinkę."
x[4:10]
'ugryzł'
x[4:10] + " " + x[-9:-1]
'ugryzł Paulinkę'
(x[-9:-2]+"a, ")*2
'Paulinka, Paulinka, '
"Paulink" in x
True
list(x[:3])
['Ł', 'o', 'ś']
string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
pd.Series(list(string.ascii_lowercase))
0 a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10 k 11 l 12 m 13 n 14 o 15 p 16 q 17 r 18 s 19 t 20 u 21 v 22 w 23 x 24 y 25 z dtype: object
pd.Series([a+b for a in string.ascii_uppercase for b in string.digits]).head(20)
0 A0 1 A1 2 A2 3 A3 4 A4 5 A5 6 A6 7 A7 8 A8 9 A9 10 B0 11 B1 12 B2 13 B3 14 B4 15 B5 16 B6 17 B7 18 B8 19 B9 dtype: object
chr(232)
'è'
for znak in range(300):
print(znak,chr(znak))
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 !
34 "
35 #
36 $
37 %
38 &
39 '
40 (
41 )
42 *
43 +
44 ,
45 -
46 .
47 /
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
58 :
59 ;
60 <
61 =
62 >
63 ?
64 @
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 [
92 \
93 ]
94 ^
95 _
96 `
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
123 {
124 |
125 }
126 ~
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161 ¡
162 ¢
163 £
164 ¤
165 ¥
166 ¦
167 §
168 ¨
169 ©
170 ª
171 «
172 ¬
173
174 ®
175 ¯
176 °
177 ±
178 ²
179 ³
180 ´
181 µ
182 ¶
183 ·
184 ¸
185 ¹
186 º
187 »
188 ¼
189 ½
190 ¾
191 ¿
192 À
193 Á
194 Â
195 Ã
196 Ä
197 Å
198 Æ
199 Ç
200 È
201 É
202 Ê
203 Ë
204 Ì
205 Í
206 Î
207 Ï
208 Ð
209 Ñ
210 Ò
211 Ó
212 Ô
213 Õ
214 Ö
215 ×
216 Ø
217 Ù
218 Ú
219 Û
220 Ü
221 Ý
222 Þ
223 ß
224 à
225 á
226 â
227 ã
228 ä
229 å
230 æ
231 ç
232 è
233 é
234 ê
235 ë
236 ì
237 í
238 î
239 ï
240 ð
241 ñ
242 ò
243 ó
244 ô
245 õ
246 ö
247 ÷
248 ø
249 ù
250 ú
251 û
252 ü
253 ý
254 þ
255 ÿ
256 Ā
257 ā
258 Ă
259 ă
260 Ą
261 ą
262 Ć
263 ć
264 Ĉ
265 ĉ
266 Ċ
267 ċ
268 Č
269 č
270 Ď
271 ď
272 Đ
273 đ
274 Ē
275 ē
276 Ĕ
277 ĕ
278 Ė
279 ė
280 Ę
281 ę
282 Ě
283 ě
284 Ĝ
285 ĝ
286 Ğ
287 ğ
288 Ġ
289 ġ
290 Ģ
291 ģ
292 Ĥ
293 ĥ
294 Ħ
295 ħ
296 Ĩ
297 ĩ
298 Ī
299 ī
x = "Paulina, mielonka, Jagosia, Paulina, Ktosia"
x.startswith("Paulinka")
True
x.count("Paulinka")
2
x.find("mielonka")
10
x.rfind("Paul")
29
x.replace("Paul","PAUL")
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[1], line 1 ----> 1 x.replace("Paul","PAUL") NameError: name 'x' is not defined
x.strip()
'Paulinka, mielonka, Jagosia, Paulinka, Ktosia'
x[1:10].strip()
'aulinka,'
pip install statsmodels
Requirement already satisfied: statsmodels in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (0.13.2) Requirement already satisfied: patsy>=0.5.2 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (0.5.2) Requirement already satisfied: pandas>=0.25 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (1.4.1) Requirement already satisfied: numpy>=1.17 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (1.21.5) Requirement already satisfied: packaging>=21.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (21.3) Requirement already satisfied: scipy>=1.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from statsmodels) (1.8.1) Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from packaging>=21.3->statsmodels) (3.0.4) Requirement already satisfied: pytz>=2020.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.25->statsmodels) (2021.3) Requirement already satisfied: python-dateutil>=2.8.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.25->statsmodels) (2.8.2) Requirement already satisfied: six in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from patsy>=0.5.2->statsmodels) (1.16.0) Note: you may need to restart the kernel to use updated packages.
"a ogura".title()
'A Ogura'
"oDWRTONIE".swapcase()
'Odwrtonie'
"Igor".isalpha()
True
x = "Przed whyswietleniem tekstu nierzadko bedziemy musieli go zawinac, czyli podzielic na podnapisu tak aby kazdy z nich - rpretezntujac wowczas jeden wiersz mial dlugosc nie zwieksza niz szerokosc strony"
x
'Przed whyswietleniem tekstu nierzadko bedziemy musieli go zawinac, czyli podzielic na podnapisu tak aby kazdy z nich - rpretezntujac wowczas jeden wiersz mial dlugosc nie zwieksza niz szerokosc strony'
xw = textwrap.wrap(x,40)
xw
['Przed whyswietleniem tekstu nierzadko', 'bedziemy musieli go zawinac, czyli', 'podzielic na podnapisu tak aby kazdy z', 'nich - rpretezntujac wowczas jeden', 'wiersz mial dlugosc nie zwieksza niz', 'szerokosc strony']
xs = x.split()
xs
['Przed', 'whyswietleniem', 'tekstu', 'nierzadko', 'bedziemy', 'musieli', 'go', 'zawinac,', 'czyli', 'podzielic', 'na', 'podnapisu', 'tak', 'aby', 'kazdy', 'z', 'nich', '-', 'rpretezntujac', 'wowczas', 'jeden', 'wiersz', 'mial', 'dlugosc', 'nie', 'zwieksza', 'niz', 'szerokosc', 'strony']
print("\n".join(xw))
Przed whyswietleniem tekstu nierzadko bedziemy musieli go zawinac, czyli podzielic na podnapisu tak aby kazdy z nich - rpretezntujac wowczas jeden wiersz mial dlugosc nie zwieksza niz szerokosc strony
print(" ".join(xs))
Przed whyswietleniem tekstu nierzadko bedziemy musieli go zawinac, czyli podzielic na podnapisu tak aby kazdy z nich - rpretezntujac wowczas jeden wiersz mial dlugosc nie zwieksza niz szerokosc strony
textwrap.shorten(x,60)
'Przed whyswietleniem tekstu nierzadko bedziemy musieli [...]'
textwrap.shorten(x,60,placeholder=" [ZOBACZ]")
'Przed whyswietleniem tekstu nierzadko bedziemy [ZOBACZ]'
p = re.compile("ni",re.IGNORECASE)
p
re.compile(r'ni', re.IGNORECASE|re.UNICODE)
p.findall("Ni! Ni, ni! Ni-kt ni-jak. Kim oni są?")
['Ni', 'Ni', 'ni', 'Ni', 'ni', 'ni']
p = re.compile("ni*") #co najmniej n
p.findall("ni! ninini! nnnniiii! n n nu!")
['ni', 'ni', 'ni', 'ni', 'n', 'n', 'n', 'niiii', 'n', 'n', 'n']
p = re.compile("ni+") #co najmniej n i jedno chociaż i
p.findall("ni! ninini! nnnniiii! n n nu!")
['ni', 'ni', 'ni', 'ni', 'niiii']
p = re.compile("(?:ni)+") #co najmniej jedno ni
p.findall("ni! ninini! nnnniiii! n n nu!")
['ni', 'ninini', 'ni']
p = re.compile("[abc][def]")
p.findall("ad ae af bd be cd ce ale nie ab, ac, de i fe")
['ad', 'ae', 'af', 'bd', 'be', 'cd', 'ce']
p = re.compile("[4-8]+")
p.findall("44567,88546,4657, ale nie 321 czy 999")
['44567', '88546', '4657']
p = re.compile("[^0-9]+")
p.findall("defghi ddaaee zzz 123 987 54bbb33")
['defghi ddaaee zzz ', ' ', ' ', 'bbb']
p = re.compile("\d{3}-\d{3}-\d{3}")
p.findall("999-111-998 ale nie 99-123-233")
['999-111-998']
p = re.compile(r"\bni\b", re.IGNORECASE)
p.findall("Ni! Nikt nie mówi: ni do st")
['Ni', 'ni']
p = re.compile("ni", re.IGNORECASE)
w = p.search("nsii ma ni!")
w.start(), w.end(), w.group(), w.span()
(8, 10, 'ni', (8, 10))
w = re.finditer(r"\d{3}-\d{3}-\d{3}", "Mój numer to 123-456-789, Twoj to 123-423-222, Zofa 12-242-111, a jego to 111-111-111")
for i in w:
print((i.start(), i.group(), i.span()))
(13, '123-456-789', (13, 24)) (34, '123-423-222', (34, 45)) (74, '111-111-111', (74, 85))
re.split("[-./ ]", "29.08.1999 29-08-1999 29/08/1999")
['29', '08', '1999', '29', '08', '1999', '29', '08', '1999']
re.sub("Jorge Lorenzo","Valentino Rossi","Jorge Lorenzo mistrzem świata 2015")
'Valentino Rossi mistrzem świata 2015'
p = re.compile(r"(\d+),\s*(\d+),\s*(\d+)")
w = p.finditer("1,22, 333; a,2,b,c; ni,5,44,3,2,1")
for i in w:
print( i.group(0), i.group(1), i.group(2), i.group(3))
1,22, 333 1 22 333 5,44,3 5 44 3
liczby = "123-123-123 456-654-456 210-012-211"
for i in re.finditer(r"(\d+)-\1", liczby):
print(i.group())
123-123 6-6 4-4 0-0 2-2
nap = "Valentino Rossi, Pecco Bagnaia, Fabio Quartararo"
str.partition(nap, ",")
('Valentino Rossi', ',', ' Pecco Bagnaia, Fabio Quartararo')
help(str.join)
Help on method_descriptor:
join(self, iterable, /)
Concatenate any number of strings.
The string whose method is called is inserted in between each given string.
The result is returned as a new string.
Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
tab=pd.read_excel("C:/Users/igors/Downloads/Zadanie-Mlodszy-analityk-danych.xlsx")
tab
| Osoba | Data | Zespół | Wskaźnik 1 | Cel 1 | Wskaźnik 2 | Cel 2 | Wskaźnik 3 | Cel 3 | Wskaźnik 4 | Cel 4 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Osoba 1 | 2020-07-01 | A | 21 | 21.5 | 1 | 9.8 | 0 | 4.9 | 0 | 6.1 |
| 1 | Osoba 2 | 2020-07-01 | A | 21 | 21.5 | 11 | 9.8 | 0 | 4.9 | 6 | 6.1 |
| 2 | Osoba 3 | 2020-07-01 | A | 33 | 17.6 | 7 | 8.0 | 1 | 4.0 | 5 | 5.0 |
| 3 | Osoba 4 | 2020-07-01 | A | 21 | 21.5 | 6 | 9.8 | 1 | 4.9 | 10 | 6.1 |
| 4 | Osoba 5 | 2020-07-01 | A | 12 | 21.5 | 4 | 9.8 | 0 | 4.9 | 4 | 6.1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 160 | Osoba 29 | 2020-11-01 | C | 4 | 17.6 | 0 | 8.0 | 0 | 4.0 | 0 | 5.0 |
| 161 | Osoba 30 | 2020-11-01 | C | 5 | 14.4 | 0 | 6.6 | 0 | 3.3 | 0 | 4.1 |
| 162 | Osoba 31 | 2020-11-01 | C | 7 | 17.6 | 3 | 8.0 | 0 | 4.0 | 0 | 5.0 |
| 163 | Osoba 32 | 2020-11-01 | C | 0 | 14.4 | 0 | 6.6 | 0 | 3.3 | 1 | 4.1 |
| 164 | Osoba 33 | 2020-11-01 | C | 5 | 8.6 | 0 | 4.9 | 0 | 0.8 | 0 | 2.8 |
165 rows × 11 columns
tab.describe()
| Wskaźnik 1 | Cel 1 | Wskaźnik 2 | Cel 2 | Wskaźnik 3 | Cel 3 | Wskaźnik 4 | Cel 4 | |
|---|---|---|---|---|---|---|---|---|
| count | 165.000000 | 165.000000 | 165.000000 | 165.000000 | 165.000000 | 165.000000 | 165.000000 | 165.000000 |
| mean | 7.357576 | 16.398788 | 1.848485 | 7.040606 | 0.103030 | 2.798182 | 2.715152 | 3.977576 |
| std | 9.675183 | 4.655288 | 3.053599 | 3.098365 | 0.342591 | 1.436182 | 3.579764 | 2.111708 |
| min | 0.000000 | 4.400000 | 0.000000 | 1.500000 | 0.000000 | 0.700000 | 0.000000 | 0.000000 |
| 25% | 0.000000 | 14.400000 | 0.000000 | 4.000000 | 0.000000 | 1.600000 | 0.000000 | 1.900000 |
| 50% | 3.000000 | 17.600000 | 0.000000 | 8.000000 | 0.000000 | 2.400000 | 1.000000 | 4.100000 |
| 75% | 11.000000 | 20.900000 | 3.000000 | 9.800000 | 0.000000 | 4.000000 | 4.000000 | 6.100000 |
| max | 51.000000 | 25.500000 | 16.000000 | 14.700000 | 2.000000 | 4.900000 | 17.000000 | 8.500000 |
tab.Zespół.describe()
count 165 unique 3 top C freq 75 Name: Zespół, dtype: object
pd.pivot_table(tab, values=["Cel 1", "Wskaźnik 1", "Cel 2", "Wskaźnik 2", "Cel 3", "Wskaźnik 3","Cel 4", "Wskaźnik 4"],index=["Data", "Zespół"], aggfunc="mean")
| Cel 1 | Cel 2 | Cel 3 | Cel 4 | Wskaźnik 1 | Wskaźnik 2 | Wskaźnik 3 | Wskaźnik 4 | ||
|---|---|---|---|---|---|---|---|---|---|
| Data | Zespół | ||||||||
| 2020-07-01 | A | 18.444444 | 8.400000 | 4.200000 | 5.233333 | 24.111111 | 6.222222 | 0.333333 | 4.555556 |
| B | 17.044444 | 6.966667 | 3.100000 | 3.655556 | 1.111111 | 4.888889 | 0.333333 | 3.777778 | |
| C | 17.050000 | 5.700000 | 2.841667 | 2.950000 | 7.666667 | 0.333333 | 0.000000 | 1.000000 | |
| 2020-08-01 | A | 18.444444 | 8.400000 | 4.200000 | 5.233333 | 15.111111 | 3.444444 | 0.000000 | 5.333333 |
| B | 16.688889 | 7.622222 | 3.055556 | 3.855556 | 1.555556 | 2.555556 | 0.333333 | 2.666667 | |
| C | 17.206667 | 5.700000 | 2.673333 | 2.733333 | 3.800000 | 0.400000 | 0.000000 | 0.533333 | |
| 2020-09-01 | A | 18.444444 | 8.400000 | 4.200000 | 5.233333 | 13.111111 | 2.666667 | 0.222222 | 5.666667 |
| B | 16.688889 | 7.622222 | 3.055556 | 3.855556 | 1.222222 | 1.777778 | 0.000000 | 3.555556 | |
| C | 18.110526 | 6.305263 | 3.010526 | 3.205263 | 9.000000 | 0.263158 | 0.000000 | 0.526316 | |
| 2020-10-01 | A | 18.322222 | 10.555556 | 1.733333 | 6.077778 | 17.000000 | 5.111111 | 0.444444 | 7.555556 |
| B | 13.022222 | 6.455556 | 1.500000 | 3.466667 | 5.000000 | 1.555556 | 0.111111 | 3.666667 | |
| C | 13.371429 | 5.364286 | 2.678571 | 3.600000 | 5.571429 | 0.500000 | 0.000000 | 0.857143 | |
| 2020-11-01 | A | 18.322222 | 10.555556 | 1.733333 | 6.077778 | 6.666667 | 2.222222 | 0.111111 | 4.888889 |
| B | 13.022222 | 6.455556 | 1.500000 | 3.466667 | 2.000000 | 0.555556 | 0.000000 | 2.444444 | |
| C | 13.053333 | 5.333333 | 2.553333 | 3.546667 | 2.266667 | 0.266667 | 0.000000 | 0.600000 |
tab.groupby(["Zespół"]).mean()
| Wskaźnik 1 | Cel 1 | Wskaźnik 2 | Cel 2 | Wskaźnik 3 | Cel 3 | Wskaźnik 4 | Cel 4 | |
|---|---|---|---|---|---|---|---|---|
| Zespół | ||||||||
| A | 15.200000 | 18.395556 | 3.933333 | 9.262222 | 0.222222 | 3.213333 | 5.600000 | 5.571111 |
| B | 2.177778 | 15.293333 | 2.266667 | 7.024444 | 0.155556 | 2.442222 | 3.222222 | 3.660000 |
| C | 5.760000 | 15.864000 | 0.346667 | 5.717333 | 0.000000 | 2.762667 | 0.680000 | 3.212000 |
tab["CelW1%"]=tab.iloc[:,3:4].values/tab.iloc[:,4:5].values
tab["CelW2%"]=tab.iloc[:,5:6].values/tab.iloc[:,6:7].values
tab["CelW3%"]=tab.iloc[:,7:8].values/tab.iloc[:,8:9].values
tab["CelW4%"]=tab.iloc[:,9:10].values/tab.iloc[:,10:11].values
C:\Users\igors\AppData\Local\Temp/ipykernel_12268/3385779482.py:4: RuntimeWarning: divide by zero encountered in true_divide tab["CelW4%"]=tab.iloc[:,9:10].values/tab.iloc[:,10:11].values C:\Users\igors\AppData\Local\Temp/ipykernel_12268/3385779482.py:4: RuntimeWarning: invalid value encountered in true_divide tab["CelW4%"]=tab.iloc[:,9:10].values/tab.iloc[:,10:11].values
tab
| Osoba | Data | Zespół | Wskaźnik 1 | Cel 1 | Wskaźnik 2 | Cel 2 | Wskaźnik 3 | Cel 3 | Wskaźnik 4 | Cel 4 | CelW1% | CelW2% | CelW3% | CelW4% | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Osoba 1 | 2020-07-01 | A | 21 | 21.5 | 1 | 9.8 | 0 | 4.9 | 0 | 6.1 | 0.976744 | 0.102041 | 0.000000 | 0.000000 |
| 1 | Osoba 2 | 2020-07-01 | A | 21 | 21.5 | 11 | 9.8 | 0 | 4.9 | 6 | 6.1 | 0.976744 | 1.122449 | 0.000000 | 0.983607 |
| 2 | Osoba 3 | 2020-07-01 | A | 33 | 17.6 | 7 | 8.0 | 1 | 4.0 | 5 | 5.0 | 1.875000 | 0.875000 | 0.250000 | 1.000000 |
| 3 | Osoba 4 | 2020-07-01 | A | 21 | 21.5 | 6 | 9.8 | 1 | 4.9 | 10 | 6.1 | 0.976744 | 0.612245 | 0.204082 | 1.639344 |
| 4 | Osoba 5 | 2020-07-01 | A | 12 | 21.5 | 4 | 9.8 | 0 | 4.9 | 4 | 6.1 | 0.558140 | 0.408163 | 0.000000 | 0.655738 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 160 | Osoba 29 | 2020-11-01 | C | 4 | 17.6 | 0 | 8.0 | 0 | 4.0 | 0 | 5.0 | 0.227273 | 0.000000 | 0.000000 | 0.000000 |
| 161 | Osoba 30 | 2020-11-01 | C | 5 | 14.4 | 0 | 6.6 | 0 | 3.3 | 0 | 4.1 | 0.347222 | 0.000000 | 0.000000 | 0.000000 |
| 162 | Osoba 31 | 2020-11-01 | C | 7 | 17.6 | 3 | 8.0 | 0 | 4.0 | 0 | 5.0 | 0.397727 | 0.375000 | 0.000000 | 0.000000 |
| 163 | Osoba 32 | 2020-11-01 | C | 0 | 14.4 | 0 | 6.6 | 0 | 3.3 | 1 | 4.1 | 0.000000 | 0.000000 | 0.000000 | 0.243902 |
| 164 | Osoba 33 | 2020-11-01 | C | 5 | 8.6 | 0 | 4.9 | 0 | 0.8 | 0 | 2.8 | 0.581395 | 0.000000 | 0.000000 | 0.000000 |
165 rows × 15 columns
m1 = tab.loc[tab.Data == "2020-07-01"]
m2 = tab.loc[tab.Data == "2020-08-01"]
m3 = tab.loc[tab.Data == "2020-09-01"]
m4 = tab.loc[tab.Data == "2020-10-01"]
m5 = tab.loc[tab.Data == "2020-11-01"]
m1.sort_values(by="CelW1%", ascending=False)
| Osoba | Data | Zespół | Wskaźnik 1 | Cel 1 | Wskaźnik 2 | Cel 2 | Wskaźnik 3 | Cel 3 | Wskaźnik 4 | Cel 4 | CelW1% | CelW2% | CelW3% | CelW4% | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 | Osoba 6 | 2020-07-01 | A | 37 | 12.8 | 5 | 5.8 | 0 | 2.9 | 4 | 3.6 | 2.890625 | 0.862069 | 0.000000 | 1.111111 |
| 6 | Osoba 7 | 2020-07-01 | A | 38 | 17.6 | 4 | 8.0 | 0 | 4.0 | 4 | 5.0 | 2.159091 | 0.500000 | 0.000000 | 0.800000 |
| 28 | Osoba 29 | 2020-07-01 | C | 34 | 17.6 | 0 | 8.0 | 0 | 4.0 | 0 | 5.0 | 1.931818 | 0.000000 | 0.000000 | 0.000000 |
| 2 | Osoba 3 | 2020-07-01 | A | 33 | 17.6 | 7 | 8.0 | 1 | 4.0 | 5 | 5.0 | 1.875000 | 0.875000 | 0.250000 | 1.000000 |
| 7 | Osoba 8 | 2020-07-01 | A | 20 | 17.6 | 12 | 8.0 | 1 | 4.0 | 8 | 5.0 | 1.136364 | 1.500000 | 0.250000 | 1.600000 |
| 0 | Osoba 1 | 2020-07-01 | A | 21 | 21.5 | 1 | 9.8 | 0 | 4.9 | 0 | 6.1 | 0.976744 | 0.102041 | 0.000000 | 0.000000 |
| 1 | Osoba 2 | 2020-07-01 | A | 21 | 21.5 | 11 | 9.8 | 0 | 4.9 | 6 | 6.1 | 0.976744 | 1.122449 | 0.000000 | 0.983607 |
| 3 | Osoba 4 | 2020-07-01 | A | 21 | 21.5 | 6 | 9.8 | 1 | 4.9 | 10 | 6.1 | 0.976744 | 0.612245 | 0.204082 | 1.639344 |
| 8 | Osoba 9 | 2020-07-01 | A | 14 | 14.4 | 6 | 6.6 | 0 | 3.3 | 0 | 4.1 | 0.972222 | 0.909091 | 0.000000 | 0.000000 |
| 29 | Osoba 30 | 2020-07-01 | C | 17 | 17.6 | 0 | 8.0 | 0 | 4.0 | 2 | 5.0 | 0.965909 | 0.000000 | 0.000000 | 0.400000 |
| 26 | Osoba 27 | 2020-07-01 | C | 13 | 17.6 | 0 | 8.0 | 0 | 4.0 | 0 | 5.0 | 0.738636 | 0.000000 | 0.000000 | 0.000000 |
| 20 | Osoba 21 | 2020-07-01 | C | 10 | 17.6 | 0 | 4.0 | 0 | 2.0 | 0 | 1.3 | 0.568182 | 0.000000 | 0.000000 | 0.000000 |
| 4 | Osoba 5 | 2020-07-01 | A | 12 | 21.5 | 4 | 9.8 | 0 | 4.9 | 4 | 6.1 | 0.558140 | 0.408163 | 0.000000 | 0.655738 |
| 27 | Osoba 28 | 2020-07-01 | C | 11 | 21.5 | 1 | 9.8 | 0 | 4.9 | 6 | 6.1 | 0.511628 | 0.102041 | 0.000000 | 0.983607 |
| 11 | Osoba 12 | 2020-07-01 | B | 4 | 17.6 | 14 | 8.0 | 0 | 4.0 | 8 | 5.0 | 0.227273 | 1.750000 | 0.000000 | 1.600000 |
| 16 | Osoba 17 | 2020-07-01 | B | 4 | 17.6 | 0 | 4.0 | 0 | 2.0 | 3 | 1.3 | 0.227273 | 0.000000 | 0.000000 | 2.307692 |
| 25 | Osoba 26 | 2020-07-01 | C | 4 | 21.5 | 3 | 9.8 | 0 | 4.9 | 2 | 6.1 | 0.186047 | 0.306122 | 0.000000 | 0.327869 |
| 18 | Osoba 19 | 2020-07-01 | C | 2 | 14.4 | 0 | 3.3 | 0 | 1.6 | 0 | 1.1 | 0.138889 | 0.000000 | 0.000000 | 0.000000 |
| 17 | Osoba 18 | 2020-07-01 | B | 1 | 14.4 | 0 | 3.3 | 0 | 1.6 | 0 | 1.1 | 0.069444 | 0.000000 | 0.000000 | 0.000000 |
| 22 | Osoba 23 | 2020-07-01 | C | 1 | 14.4 | 0 | 3.3 | 0 | 1.6 | 0 | 1.1 | 0.069444 | 0.000000 | 0.000000 | 0.000000 |
| 10 | Osoba 11 | 2020-07-01 | B | 1 | 21.5 | 16 | 9.8 | 1 | 4.9 | 11 | 6.1 | 0.046512 | 1.632653 | 0.204082 | 1.803279 |
| 21 | Osoba 22 | 2020-07-01 | C | 0 | 17.6 | 0 | 4.0 | 0 | 2.0 | 2 | 1.3 | 0.000000 | 0.000000 | 0.000000 | 1.538462 |
| 19 | Osoba 20 | 2020-07-01 | C | 0 | 17.6 | 0 | 4.0 | 0 | 2.0 | 0 | 1.3 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 23 | Osoba 24 | 2020-07-01 | C | 0 | 14.4 | 0 | 3.3 | 0 | 1.6 | 0 | 1.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 24 | Osoba 25 | 2020-07-01 | C | 0 | 12.8 | 0 | 2.9 | 0 | 1.5 | 0 | 1.0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 9 | Osoba 10 | 2020-07-01 | B | 0 | 14.4 | 3 | 6.6 | 0 | 3.3 | 2 | 4.1 | 0.000000 | 0.454545 | 0.000000 | 0.487805 |
| 14 | Osoba 15 | 2020-07-01 | B | 0 | 14.4 | 0 | 6.6 | 0 | 1.6 | 0 | 2.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 13 | Osoba 14 | 2020-07-01 | B | 0 | 21.5 | 4 | 9.8 | 0 | 4.9 | 4 | 6.1 | 0.000000 | 0.408163 | 0.000000 | 0.655738 |
| 12 | Osoba 13 | 2020-07-01 | B | 0 | 17.6 | 7 | 8.0 | 2 | 4.0 | 6 | 5.0 | 0.000000 | 0.875000 | 0.500000 | 1.200000 |
| 15 | Osoba 16 | 2020-07-01 | B | 0 | 14.4 | 0 | 6.6 | 0 | 1.6 | 0 | 2.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
wyk = tab.groupby(["Zespół","Data"]).mean()[["CelW1%","CelW2%","CelW3%","CelW4%"]]
wyk
| CelW1% | CelW2% | CelW3% | CelW4% | ||
|---|---|---|---|---|---|
| Zespół | Data | ||||
| A | 2020-07-01 | 1.391297 | 0.765673 | 0.078231 | 0.865533 |
| 2020-08-01 | 0.847948 | 0.405773 | 0.000000 | 1.009067 | |
| 2020-09-01 | 0.777557 | 0.336944 | 0.060990 | 1.085003 | |
| 2020-10-01 | 1.059240 | 0.514693 | 0.217593 | 1.448589 | |
| 2020-11-01 | 0.487545 | 0.246255 | 0.138889 | 0.787537 | |
| B | 2020-07-01 | 0.063389 | 0.568929 | 0.078231 | 0.894946 |
| 2020-08-01 | 0.108025 | 0.310426 | 0.089226 | 0.502146 | |
| 2020-09-01 | 0.079780 | 0.218306 | 0.000000 | 0.711458 | |
| 2020-10-01 | 0.733025 | 0.179854 | 0.055556 | inf | |
| 2020-11-01 | 0.192463 | 0.187149 | 0.000000 | NaN | |
| C | 2020-07-01 | 0.425879 | 0.034014 | 0.000000 | 0.270828 |
| 2020-08-01 | 0.218675 | 0.054216 | 0.000000 | 0.275957 | |
| 2020-09-01 | 0.460582 | 0.037431 | 0.000000 | 0.308770 | |
| 2020-10-01 | 0.426026 | 0.125729 | 0.000000 | 0.354797 | |
| 2020-11-01 | 0.158171 | 0.066667 | 0.000000 | 0.274960 |
import matplotlib.pyplot as plt
height = wyk["CelW1%"]
bars = wyk["Data"]
plt.bar(bars, height)
plt.show()
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 3620 try: -> 3621 return self._engine.get_loc(casted_key) 3622 except KeyError as err: ~\miniconda3\envs\igorpython\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc() ~\miniconda3\envs\igorpython\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc() pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: 'Data' The above exception was the direct cause of the following exception: KeyError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/4161318286.py in <module> 1 height = wyk["CelW1%"] ----> 2 bars = wyk["Data"] 3 4 5 plt.bar(bars, height) ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 3503 if self.columns.nlevels > 1: 3504 return self._getitem_multilevel(key) -> 3505 indexer = self.columns.get_loc(key) 3506 if is_integer(indexer): 3507 indexer = [indexer] ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 3621 return self._engine.get_loc(casted_key) 3622 except KeyError as err: -> 3623 raise KeyError(key) from err 3624 except TypeError: 3625 # If we have a listlike key, _check_indexing_error will raise KeyError: 'Data'
import io, os.path, glob, tempfile, re, textwrap
import pickle, json, requests, urllib
import lxml.html, cssselect, html5lib
import numpy as np
import pandas as pd
os.path.expanduser("~")
--------------------------------------------------------------------------- NameError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/3717292399.py in <module> ----> 1 os.path.expanduser("~") NameError: name 'os' is not defined
os.getcwd()
#listing plików
sciezka = os.path.join(os.getcwd(), "Downloads", "*.csv")
glob.glob(sciezka)
pliki = os.listdir("C:\\Users\\igors\\Downloads")
pliki = [os.path.join("C:\\Users\\igors\\Downloads", plik) for plik in pliki if str.endswith(plik, "csv")]
pliki
sum([os.path.getsize(plik) for plik in pliki])
f=open("C:\\Users\\igors\\Downloads\\artificial_data.csv")
print(f)
<_io.TextIOWrapper name='C:\\Users\\igors\\Downloads\\artificial_data.csv' mode='r' encoding='cp1250'>
sciezka = os.path.join(os.getcwd(),"Downloads","*.txt")
glob.glob(sciezka)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/484196276.py in <module> ----> 1 sciezka = os.path.join(os.getcwd(),"Downloads","*.txt") 2 glob.glob(sciezka) NameError: name 'os' is not defined
bny = open("C:\\Users\\igors\\Downloads\\łotwa.txt")
print(bny)
<_io.TextIOWrapper name='C:\\Users\\igors\\Downloads\\łotwa.txt' mode='r' encoding='cp1250'>
f.read()
'"","time","prices","quantities","prodID","retID"\n"1",2019-12-23,21.22,291,1,1\n"2",2019-12-16,20.26,207,2,1\n"3",2019-12-26,20.33,420,3,1\n"4",2019-12-03,20.87,300,4,1\n"5",2019-12-28,20.64,918,5,1\n"6",2019-12-02,20.33,228,6,1\n"7",2019-12-29,19.37,164,7,1\n"8",2019-12-03,19.18,295,8,1\n"9",2019-12-06,19.68,339,9,1\n"10",2019-12-31,20.41,177,10,1\n"11",2019-12-31,20.43,205,11,1\n"12",2019-12-26,20.55,249,12,1\n"13",2019-12-12,19.35,333,13,1\n"14",2019-12-24,19.64,284,14,1\n"15",2019-12-26,19.75,294,15,1\n"16",2019-12-13,20.37,243,16,1\n"17",2019-12-31,19.56,241,17,1\n"18",2019-12-09,20.76,484,18,1\n"19",2019-12-12,20.64,512,19,1\n"20",2019-12-03,20.24,254,20,1\n"21",2019-12-21,19.69,194,21,1\n"22",2019-12-26,20.9,412,22,1\n"23",2019-12-30,19.65,242,23,1\n"24",2019-12-29,19.32,167,24,1\n"25",2019-12-27,20.98,364,25,1\n"26",2019-12-06,19.61,608,26,1\n"27",2019-12-31,19.5,526,27,1\n"28",2019-12-30,20.76,160,28,1\n"29",2019-12-30,18.71,308,29,1\n"30",2019-12-07,20.38,232,30,1\n"31",2019-12-12,20.27,273,31,1\n"32",2019-12-26,19.83,448,32,1\n"33",2019-12-28,20.52,107,33,1\n"34",2019-12-08,19.98,226,34,1\n"35",2019-12-08,19.26,391,35,1\n"36",2019-12-19,20.14,639,36,1\n"37",2019-12-18,19.62,580,37,1\n"38",2019-12-10,20.75,302,38,1\n"39",2019-12-02,20.27,301,39,1\n"40",2019-12-01,20.98,193,40,1\n"41",2019-12-30,19.09,165,41,1\n"42",2019-12-05,20.2,181,42,1\n"43",2019-12-05,21.64,410,43,1\n"44",2019-12-08,21.11,374,44,1\n"45",2019-12-10,20.7,277,45,1\n"46",2019-12-16,20.27,346,46,1\n"47",2019-12-29,19.31,208,47,1\n"48",2019-12-28,20.48,262,48,1\n"49",2019-12-20,19.14,114,49,1\n"50",2019-12-05,20.46,318,50,1\n"51",2019-12-19,21.24,255,51,1\n"52",2019-12-19,19.75,176,52,1\n"53",2019-12-26,20.09,89,53,1\n"54",2019-12-16,20.31,294,54,1\n"55",2019-12-23,20.86,599,55,1\n"56",2019-12-28,20.65,179,56,1\n"57",2019-12-06,20.66,180,57,1\n"58",2019-12-27,20.61,216,58,1\n"59",2019-12-25,19.34,143,59,1\n"60",2019-12-13,20.61,614,60,1\n"61",2019-12-10,20.16,261,61,1\n"62",2019-12-25,20.87,427,62,1\n"63",2019-12-15,20.11,134,63,1\n"64",2019-12-04,19.96,188,64,1\n"65",2019-12-09,19.85,274,65,1\n"66",2019-12-31,19.8,373,66,1\n"67",2019-12-14,20.74,493,67,1\n"68",2019-12-31,20.44,255,68,1\n"69",2019-12-06,19.52,178,69,1\n"70",2019-12-31,20.52,101,70,1\n"71",2019-12-29,20.27,263,71,1\n"72",2019-12-02,19.46,524,72,1\n"73",2019-12-13,20.32,180,73,1\n"74",2019-12-07,20.82,292,74,1\n"75",2019-12-28,20.9,432,75,1\n"76",2019-12-02,19.91,369,76,1\n"77",2019-12-21,20.6,245,77,1\n"78",2019-12-03,19.66,282,78,1\n"79",2019-12-22,20.39,907,79,1\n"80",2019-12-21,19.95,300,80,1\n"81",2019-12-18,20.01,463,81,1\n"82",2019-12-24,20.52,171,82,1\n"83",2019-12-24,20.36,245,83,1\n"84",2019-12-11,20.87,342,84,1\n"85",2019-12-27,20.6,324,85,1\n"86",2019-12-20,20.2,304,86,1\n"87",2019-12-29,21.45,437,87,1\n"88",2019-12-02,20.68,419,88,1\n"89",2019-12-01,20.57,211,89,1\n"90",2019-12-13,19.69,335,90,1\n"91",2019-12-05,21,415,91,1\n"92",2019-12-04,19.71,144,92,1\n"93",2019-12-27,19.27,380,93,1\n"94",2019-12-20,20.62,679,94,1\n"95",2019-12-17,20.53,324,95,1\n"96",2019-12-11,20.32,387,96,1\n"97",2019-12-12,21.02,142,97,1\n"98",2019-12-09,20.78,246,98,1\n"99",2019-12-30,19.94,558,99,1\n"100",2019-12-13,21.24,322,100,1\n"101",2019-12-23,19.82,404,1,2\n"102",2019-12-16,19.79,233,2,2\n"103",2019-12-26,20.82,159,3,2\n"104",2019-12-03,21.07,229,4,2\n"105",2019-12-28,20.81,486,5,2\n"106",2019-12-02,20.85,244,6,2\n"107",2019-12-29,20.87,274,7,2\n"108",2019-12-03,20.76,130,8,2\n"109",2019-12-06,20.84,112,9,2\n"110",2019-12-31,19.81,144,10,2\n"111",2019-12-31,19.89,222,11,2\n"112",2019-12-26,20.38,244,12,2\n"113",2019-12-12,19.38,254,13,2\n"114",2019-12-24,20.67,56,14,2\n"115",2019-12-26,20.19,282,15,2\n"116",2019-12-13,21.46,227,16,2\n"117",2019-12-31,20.56,417,17,2\n"118",2019-12-09,20.75,368,18,2\n"119",2019-12-12,19.35,151,19,2\n"120",2019-12-03,19.31,244,20,2\n"121",2019-12-21,19.68,373,21,2\n"122",2019-12-26,20.62,151,22,2\n"123",2019-12-30,20.51,307,23,2\n"124",2019-12-29,20.29,201,24,2\n"125",2019-12-27,19.37,398,25,2\n"126",2019-12-06,19.23,593,26,2\n"127",2019-12-31,19.71,301,27,2\n"128",2019-12-30,20.02,307,28,2\n"129",2019-12-30,19.64,120,29,2\n"130",2019-12-07,20.43,113,30,2\n"131",2019-12-12,21.22,185,31,2\n"132",2019-12-26,21.41,400,32,2\n"133",2019-12-28,19.75,139,33,2\n"134",2019-12-08,19.04,115,34,2\n"135",2019-12-08,21.58,286,35,2\n"136",2019-12-19,20.57,192,36,2\n"137",2019-12-18,20.73,506,37,2\n"138",2019-12-10,20.66,333,38,2\n"139",2019-12-02,20.13,273,39,2\n"140",2019-12-01,19.81,265,40,2\n"141",2019-12-30,19.81,493,41,2\n"142",2019-12-05,21.32,213,42,2\n"143",2019-12-05,19.39,191,43,2\n"144",2019-12-08,21.43,249,44,2\n"145",2019-12-10,19.78,221,45,2\n"146",2019-12-16,20.84,446,46,2\n"147",2019-12-29,20.67,254,47,2\n"148",2019-12-28,20.43,403,48,2\n"149",2019-12-20,20.6,324,49,2\n"150",2019-12-05,19.89,257,50,2\n"151",2019-12-19,19.65,298,51,2\n"152",2019-12-19,19.71,195,52,2\n"153",2019-12-26,20.33,364,53,2\n"154",2019-12-16,19.98,308,54,2\n"155",2019-12-23,20.44,326,55,2\n"156",2019-12-28,20.71,316,56,2\n"157",2019-12-06,20.78,203,57,2\n"158",2019-12-27,21.55,527,58,2\n"159",2019-12-25,19.59,130,59,2\n"160",2019-12-13,19.97,539,60,2\n"161",2019-12-10,20.86,209,61,2\n"162",2019-12-25,21.51,138,62,2\n"163",2019-12-15,20.8,383,63,2\n"164",2019-12-04,19.6,204,64,2\n"165",2019-12-09,20.19,514,65,2\n"166",2019-12-31,20.6,407,66,2\n"167",2019-12-14,19.72,205,67,2\n"168",2019-12-31,20.1,276,68,2\n"169",2019-12-06,21.28,180,69,2\n"170",2019-12-31,19.96,194,70,2\n"171",2019-12-29,18.88,220,71,2\n"172",2019-12-02,19.47,255,72,2\n"173",2019-12-13,21.38,517,73,2\n"174",2019-12-07,19.98,375,74,2\n"175",2019-12-28,20.38,119,75,2\n"176",2019-12-02,20.46,170,76,2\n"177",2019-12-21,19.97,203,77,2\n"178",2019-12-03,20.49,230,78,2\n"179",2019-12-22,20.88,208,79,2\n"180",2019-12-21,19.65,205,80,2\n"181",2019-12-18,20.55,129,81,2\n"182",2019-12-24,20.83,320,82,2\n"183",2019-12-24,21.06,690,83,2\n"184",2019-12-11,20.98,274,84,2\n"185",2019-12-27,20.99,168,85,2\n"186",2019-12-20,18.89,501,86,2\n"187",2019-12-29,20.14,318,87,2\n"188",2019-12-02,19.85,144,88,2\n"189",2019-12-01,19.33,421,89,2\n"190",2019-12-13,21.03,179,90,2\n"191",2019-12-05,20.58,670,91,2\n"192",2019-12-04,20.55,537,92,2\n"193",2019-12-27,21.06,221,93,2\n"194",2019-12-20,20.36,234,94,2\n"195",2019-12-17,19.44,162,95,2\n"196",2019-12-11,20.63,145,96,2\n"197",2019-12-12,20.95,236,97,2\n"198",2019-12-09,20.53,181,98,2\n"199",2019-12-30,20.08,150,99,2\n"200",2019-12-13,20.91,421,100,2\n"201",2019-12-23,20.86,280,1,3\n"202",2019-12-16,20.55,253,2,3\n"203",2019-12-26,20.02,247,3,3\n"204",2019-12-03,20.99,285,4,3\n"205",2019-12-28,21.33,316,5,3\n"206",2019-12-02,20.37,343,6,3\n"207",2019-12-29,21.37,94,7,3\n"208",2019-12-03,19.34,299,8,3\n"209",2019-12-06,20.53,274,9,3\n"210",2019-12-31,20.28,287,10,3\n"211",2019-12-31,20.63,305,11,3\n"212",2019-12-26,20.61,133,12,3\n"213",2019-12-12,20.28,119,13,3\n"214",2019-12-24,20.31,197,14,3\n"215",2019-12-26,19.68,461,15,3\n"216",2019-12-13,21.24,464,16,3\n"217",2019-12-31,19.57,293,17,3\n"218",2019-12-09,20.34,159,18,3\n"219",2019-12-12,20.33,75,19,3\n"220",2019-12-03,19.95,292,20,3\n"221",2019-12-21,20.75,177,21,3\n"222",2019-12-26,21.54,194,22,3\n"223",2019-12-30,20.42,202,23,3\n"224",2019-12-29,20.58,269,24,3\n"225",2019-12-27,20.16,747,25,3\n"226",2019-12-06,20.48,199,26,3\n"227",2019-12-31,20.22,743,27,3\n"228",2019-12-30,19.27,316,28,3\n"229",2019-12-30,20.13,328,29,3\n"230",2019-12-07,20.92,148,30,3\n"231",2019-12-12,20.56,220,31,3\n"232",2019-12-26,19.6,140,32,3\n"233",2019-12-28,20.68,465,33,3\n"234",2019-12-08,20.04,244,34,3\n"235",2019-12-08,20.66,221,35,3\n"236",2019-12-19,19.86,201,36,3\n"237",2019-12-18,20.82,508,37,3\n"238",2019-12-10,19.29,223,38,3\n"239",2019-12-02,19.13,174,39,3\n"240",2019-12-01,20.6,366,40,3\n"241",2019-12-30,20.21,323,41,3\n"242",2019-12-05,19.77,596,42,3\n"243",2019-12-05,19.7,153,43,3\n"244",2019-12-08,20.54,94,44,3\n"245",2019-12-10,19.27,220,45,3\n"246",2019-12-16,19.63,392,46,3\n"247",2019-12-29,19.68,192,47,3\n"248",2019-12-28,21.41,231,48,3\n"249",2019-12-20,20.15,256,49,3\n"250",2019-12-05,19.87,187,50,3\n"251",2019-12-19,21.22,506,51,3\n"252",2019-12-19,20.53,482,52,3\n"253",2019-12-26,21.46,349,53,3\n"254",2019-12-16,19.33,301,54,3\n"255",2019-12-23,20.13,357,55,3\n"256",2019-12-28,20.77,329,56,3\n"257",2019-12-06,20.64,398,57,3\n"258",2019-12-27,21,290,58,3\n"259",2019-12-25,20.3,195,59,3\n"260",2019-12-13,19.65,301,60,3\n"261",2019-12-10,20.51,543,61,3\n"262",2019-12-25,21.35,198,62,3\n"263",2019-12-15,20.23,518,63,3\n"264",2019-12-04,20.72,245,64,3\n"265",2019-12-09,20.97,367,65,3\n"266",2019-12-31,20.38,219,66,3\n"267",2019-12-14,20.9,283,67,3\n"268",2019-12-31,20.19,159,68,3\n"269",2019-12-06,19.61,298,69,3\n"270",2019-12-31,20.05,470,70,3\n"271",2019-12-29,20.17,385,71,3\n"272",2019-12-02,19.94,364,72,3\n"273",2019-12-13,20.14,232,73,3\n"274",2019-12-07,21.14,284,74,3\n"275",2019-12-28,20.69,172,75,3\n"276",2019-12-02,20.23,258,76,3\n"277",2019-12-21,20.36,250,77,3\n"278",2019-12-03,19.62,455,78,3\n"279",2019-12-22,21,76,79,3\n"280",2019-12-21,20.49,354,80,3\n"281",2019-12-18,21.45,316,81,3\n"282",2019-12-24,19.7,378,82,3\n"283",2019-12-24,20.55,177,83,3\n"284",2019-12-11,19.85,240,84,3\n"285",2019-12-27,20.32,179,85,3\n"286",2019-12-20,20.41,238,86,3\n"287",2019-12-29,20.29,568,87,3\n"288",2019-12-02,20.86,1061,88,3\n"289",2019-12-01,19.39,302,89,3\n"290",2019-12-13,20.21,155,90,3\n"291",2019-12-05,21.18,276,91,3\n"292",2019-12-04,20.8,340,92,3\n"293",2019-12-27,19.38,171,93,3\n"294",2019-12-20,21.11,177,94,3\n"295",2019-12-17,20.01,909,95,3\n"296",2019-12-11,20.89,114,96,3\n"297",2019-12-12,19.49,497,97,3\n"298",2019-12-09,19.48,451,98,3\n"299",2019-12-30,20.76,445,99,3\n"300",2019-12-13,22.01,505,100,3\n"301",2019-12-23,21.99,717,1,4\n"302",2019-12-16,20.58,153,2,4\n"303",2019-12-26,19.52,513,3,4\n"304",2019-12-03,20.15,129,4,4\n"305",2019-12-28,19.88,354,5,4\n"306",2019-12-02,20.19,275,6,4\n"307",2019-12-29,20.72,193,7,4\n"308",2019-12-03,20.86,51,8,4\n"309",2019-12-06,20.71,232,9,4\n"310",2019-12-31,20.62,259,10,4\n"311",2019-12-31,20.21,249,11,4\n"312",2019-12-26,21.1,140,12,4\n"313",2019-12-12,20.34,158,13,4\n"314",2019-12-24,20.5,263,14,4\n"315",2019-12-26,21.06,347,15,4\n"316",2019-12-13,19.26,585,16,4\n"317",2019-12-31,20.51,85,17,4\n"318",2019-12-09,20.87,177,18,4\n"319",2019-12-12,19.74,143,19,4\n"320",2019-12-03,20.66,304,20,4\n"321",2019-12-21,20.67,163,21,4\n"322",2019-12-26,20.23,345,22,4\n"323",2019-12-30,20.31,515,23,4\n"324",2019-12-29,20.05,142,24,4\n"325",2019-12-27,19.81,97,25,4\n"326",2019-12-06,19.49,277,26,4\n"327",2019-12-31,20.66,359,27,4\n"328",2019-12-30,19.92,251,28,4\n"329",2019-12-30,19.46,416,29,4\n"330",2019-12-07,19.4,423,30,4\n"331",2019-12-12,21.79,320,31,4\n"332",2019-12-26,20.24,291,32,4\n"333",2019-12-28,19.68,249,33,4\n"334",2019-12-08,20.83,218,34,4\n"335",2019-12-08,19.71,454,35,4\n"336",2019-12-19,20.09,237,36,4\n"337",2019-12-18,19.45,207,37,4\n"338",2019-12-10,20.9,285,38,4\n"339",2019-12-02,19.15,730,39,4\n"340",2019-12-01,21.21,467,40,4\n"341",2019-12-30,21.46,141,41,4\n"342",2019-12-05,21.22,204,42,4\n"343",2019-12-05,19.74,296,43,4\n"344",2019-12-08,19.92,232,44,4\n"345",2019-12-10,20.86,174,45,4\n"346",2019-12-16,19.21,270,46,4\n"347",2019-12-29,19.45,463,47,4\n"348",2019-12-28,20.55,153,48,4\n"349",2019-12-20,20.76,867,49,4\n"350",2019-12-05,20.41,195,50,4\n"351",2019-12-19,19.87,222,51,4\n"352",2019-12-19,20.11,154,52,4\n"353",2019-12-26,20.51,316,53,4\n"354",2019-12-16,20.57,298,54,4\n"355",2019-12-23,18.59,377,55,4\n"356",2019-12-28,19.27,707,56,4\n"357",2019-12-06,19.59,230,57,4\n"358",2019-12-27,20.8,169,58,4\n"359",2019-12-25,19.68,297,59,4\n"360",2019-12-13,20.45,368,60,4\n"361",2019-12-10,20.09,574,61,4\n"362",2019-12-25,20.28,360,62,4\n"363",2019-12-15,19.94,223,63,4\n"364",2019-12-04,21.25,515,64,4\n"365",2019-12-09,20.55,110,65,4\n"366",2019-12-31,20.08,206,66,4\n"367",2019-12-14,21.09,304,67,4\n"368",2019-12-31,20.31,313,68,4\n"369",2019-12-06,20.55,378,69,4\n"370",2019-12-31,19.96,278,70,4\n"371",2019-12-29,20.33,224,71,4\n"372",2019-12-02,20.26,247,72,4\n"373",2019-12-13,21.11,418,73,4\n"374",2019-12-07,21.21,215,74,4\n"375",2019-12-28,21.23,417,75,4\n"376",2019-12-02,19.95,292,76,4\n"377",2019-12-21,20.38,355,77,4\n"378",2019-12-03,20.8,341,78,4\n"379",2019-12-22,20.07,218,79,4\n"380",2019-12-21,21.03,318,80,4\n"381",2019-12-18,20.41,420,81,4\n"382",2019-12-24,20.85,266,82,4\n"383",2019-12-24,21.13,363,83,4\n"384",2019-12-11,20.97,114,84,4\n"385",2019-12-27,20.47,198,85,4\n"386",2019-12-20,20.23,224,86,4\n"387",2019-12-29,19.47,514,87,4\n"388",2019-12-02,19.91,140,88,4\n"389",2019-12-01,20.14,112,89,4\n"390",2019-12-13,20.81,289,90,4\n"391",2019-12-05,19.45,336,91,4\n"392",2019-12-04,20.86,358,92,4\n"393",2019-12-27,20.31,210,93,4\n"394",2019-12-20,21.77,147,94,4\n"395",2019-12-17,20.9,342,95,4\n"396",2019-12-11,21.22,352,96,4\n"397",2019-12-12,20.61,190,97,4\n"398",2019-12-09,20.72,393,98,4\n"399",2019-12-30,21.78,234,99,4\n"400",2019-12-13,19.67,226,100,4\n"401",2019-12-23,19.81,180,1,5\n"402",2019-12-16,20.41,589,2,5\n"403",2019-12-26,20.34,437,3,5\n"404",2019-12-03,19.98,485,4,5\n"405",2019-12-28,21.03,260,5,5\n"406",2019-12-02,21.23,190,6,5\n"407",2019-12-29,19.78,762,7,5\n"408",2019-12-03,21.31,544,8,5\n"409",2019-12-06,20.32,461,9,5\n"410",2019-12-31,20.06,465,10,5\n"411",2019-12-31,21.71,187,11,5\n"412",2019-12-26,20.43,869,12,5\n"413",2019-12-12,20.91,356,13,5\n"414",2019-12-24,20.67,197,14,5\n"415",2019-12-26,21.51,369,15,5\n"416",2019-12-13,19.97,96,16,5\n"417",2019-12-31,19.8,324,17,5\n"418",2019-12-09,20.33,397,18,5\n"419",2019-12-12,19.88,213,19,5\n"420",2019-12-03,20.35,465,20,5\n"421",2019-12-21,19.6,320,21,5\n"422",2019-12-26,21.24,343,22,5\n"423",2019-12-30,19.31,283,23,5\n"424",2019-12-29,20.58,228,24,5\n"425",2019-12-27,20.92,319,25,5\n"426",2019-12-06,21.45,336,26,5\n"427",2019-12-31,19.99,135,27,5\n"428",2019-12-30,19.75,239,28,5\n"429",2019-12-30,20.8,481,29,5\n"430",2019-12-07,20.56,240,30,5\n"431",2019-12-12,20.55,107,31,5\n"432",2019-12-26,20.91,593,32,5\n"433",2019-12-28,19.42,284,33,5\n"434",2019-12-08,20.06,145,34,5\n"435",2019-12-08,21.62,285,35,5\n"436",2019-12-19,20.48,265,36,5\n"437",2019-12-18,20.63,136,37,5\n"438",2019-12-10,21.13,287,38,5\n"439",2019-12-02,19.89,376,39,5\n"440",2019-12-01,20.34,612,40,5\n"441",2019-12-30,19.41,207,41,5\n"442",2019-12-05,20.86,213,42,5\n"443",2019-12-05,19.82,212,43,5\n"444",2019-12-08,20,576,44,5\n"445",2019-12-10,20.86,197,45,5\n"446",2019-12-16,20.1,147,46,5\n"447",2019-12-29,20.24,371,47,5\n"448",2019-12-28,20.91,277,48,5\n"449",2019-12-20,19.49,262,49,5\n"450",2019-12-05,20.96,357,50,5\n"451",2019-12-19,20.96,265,51,5\n"452",2019-12-19,20.31,184,52,5\n"453",2019-12-26,19.86,199,53,5\n"454",2019-12-16,19.43,488,54,5\n"455",2019-12-23,20.76,155,55,5\n"456",2019-12-28,20.47,158,56,5\n"457",2019-12-06,19.96,171,57,5\n"458",2019-12-27,19.22,199,58,5\n"459",2019-12-25,20.65,153,59,5\n"460",2019-12-13,20.28,238,60,5\n"461",2019-12-10,21.46,359,61,5\n"462",2019-12-25,19.68,709,62,5\n"463",2019-12-15,19.65,256,63,5\n"464",2019-12-04,19.89,223,64,5\n"465",2019-12-09,20.46,379,65,5\n"466",2019-12-31,19.12,205,66,5\n"467",2019-12-14,20.16,341,67,5\n"468",2019-12-31,20.77,296,68,5\n"469",2019-12-06,20.61,359,69,5\n"470",2019-12-31,21.52,94,70,5\n"471",2019-12-29,20.35,114,71,5\n"472",2019-12-02,19.48,457,72,5\n"473",2019-12-13,19.64,203,73,5\n"474",2019-12-07,20.01,999,74,5\n"475",2019-12-28,20.19,588,75,5\n"476",2019-12-02,20.62,334,76,5\n"477",2019-12-21,21.07,537,77,5\n"478",2019-12-03,19.98,409,78,5\n"479",2019-12-22,21.38,315,79,5\n"480",2019-12-21,20.4,290,80,5\n"481",2019-12-18,20.56,395,81,5\n"482",2019-12-24,19.14,303,82,5\n"483",2019-12-24,21.01,191,83,5\n"484",2019-12-11,20.17,408,84,5\n"485",2019-12-27,19.95,142,85,5\n"486",2019-12-20,20.94,415,86,5\n"487",2019-12-29,18.86,526,87,5\n"488",2019-12-02,20.85,193,88,5\n"489",2019-12-01,20.85,334,89,5\n"490",2019-12-13,21.23,105,90,5\n"491",2019-12-05,20.48,166,91,5\n"492",2019-12-04,20.41,199,92,5\n"493",2019-12-27,21.81,187,93,5\n"494",2019-12-20,20.58,380,94,5\n"495",2019-12-17,21.04,157,95,5\n"496",2019-12-11,21.2,189,96,5\n"497",2019-12-12,19.93,172,97,5\n"498",2019-12-09,20.43,144,98,5\n"499",2019-12-30,19.47,266,99,5\n"500",2019-12-13,20.08,414,100,5\n"501",2019-12-23,19.75,332,1,6\n"502",2019-12-16,20.6,289,2,6\n"503",2019-12-26,20.13,94,3,6\n"504",2019-12-03,19.88,422,4,6\n"505",2019-12-28,19.98,235,5,6\n"506",2019-12-02,20.31,138,6,6\n"507",2019-12-29,20.59,128,7,6\n"508",2019-12-03,20.9,274,8,6\n"509",2019-12-06,19.88,118,9,6\n"510",2019-12-31,20.03,448,10,6\n"511",2019-12-31,19.99,369,11,6\n"512",2019-12-26,20.59,316,12,6\n"513",2019-12-12,19.79,176,13,6\n"514",2019-12-24,20.61,168,14,6\n"515",2019-12-26,20.37,645,15,6\n"516",2019-12-13,20.78,341,16,6\n"517",2019-12-31,19.31,260,17,6\n"518",2019-12-09,21.66,143,18,6\n"519",2019-12-12,20.52,502,19,6\n"520",2019-12-03,20.26,228,20,6\n"521",2019-12-21,20.34,173,21,6\n"522",2019-12-26,19.09,147,22,6\n"523",2019-12-30,20.5,408,23,6\n"524",2019-12-29,20.47,147,24,6\n"525",2019-12-27,20.38,385,25,6\n"526",2019-12-06,21.37,407,26,6\n"527",2019-12-31,20.02,425,27,6\n"528",2019-12-30,20.5,610,28,6\n"529",2019-12-30,20.89,299,29,6\n"530",2019-12-07,20.51,305,30,6\n"531",2019-12-12,20.3,385,31,6\n"532",2019-12-26,20.06,737,32,6\n"533",2019-12-28,20.38,241,33,6\n"534",2019-12-08,19.79,449,34,6\n"535",2019-12-08,20.07,144,35,6\n"536",2019-12-19,19.8,260,36,6\n"537",2019-12-18,20.47,225,37,6\n"538",2019-12-10,20.66,244,38,6\n"539",2019-12-02,19.82,268,39,6\n"540",2019-12-01,20.52,220,40,6\n"541",2019-12-30,20.44,641,41,6\n"542",2019-12-05,20.67,206,42,6\n"543",2019-12-05,21.88,418,43,6\n"544",2019-12-08,20.38,224,44,6\n"545",2019-12-10,20.75,149,45,6\n"546",2019-12-16,19.95,118,46,6\n"547",2019-12-29,19.58,833,47,6\n"548",2019-12-28,21.79,228,48,6\n"549",2019-12-20,20.63,235,49,6\n"550",2019-12-05,19.9,212,50,6\n"551",2019-12-19,20.16,348,51,6\n"552",2019-12-19,20.22,369,52,6\n"553",2019-12-26,20.97,169,53,6\n"554",2019-12-16,19.88,253,54,6\n"555",2019-12-23,20.97,403,55,6\n"556",2019-12-28,20.61,374,56,6\n"557",2019-12-06,20.79,137,57,6\n"558",2019-12-27,20.49,445,58,6\n"559",2019-12-25,20.35,306,59,6\n"560",2019-12-13,20.7,165,60,6\n"561",2019-12-10,18.82,415,61,6\n"562",2019-12-25,20.03,351,62,6\n"563",2019-12-15,21.02,312,63,6\n"564",2019-12-04,21.35,629,64,6\n"565",2019-12-09,20.51,288,65,6\n"566",2019-12-31,20.64,410,66,6\n"567",2019-12-14,21.01,367,67,6\n"568",2019-12-31,21.15,434,68,6\n"569",2019-12-06,19.99,158,69,6\n"570",2019-12-31,19.5,258,70,6\n"571",2019-12-29,20.85,309,71,6\n"572",2019-12-02,20.45,245,72,6\n"573",2019-12-13,20.56,195,73,6\n"574",2019-12-07,21.26,362,74,6\n"575",2019-12-28,21,219,75,6\n"576",2019-12-02,19.65,214,76,6\n"577",2019-12-21,20.69,227,77,6\n"578",2019-12-03,20.24,433,78,6\n"579",2019-12-22,20.19,188,79,6\n"580",2019-12-21,20.94,249,80,6\n"581",2019-12-18,21.16,230,81,6\n"582",2019-12-24,19.35,350,82,6\n"583",2019-12-24,20.42,191,83,6\n"584",2019-12-11,20.66,187,84,6\n"585",2019-12-27,20.2,188,85,6\n"586",2019-12-20,19.3,993,86,6\n"587",2019-12-29,19.22,339,87,6\n"588",2019-12-02,19.85,295,88,6\n"589",2019-12-01,20.44,719,89,6\n"590",2019-12-13,20.64,170,90,6\n"591",2019-12-05,20.94,135,91,6\n"592",2019-12-04,19.46,278,92,6\n"593",2019-12-27,19.85,245,93,6\n"594",2019-12-20,20.42,200,94,6\n"595",2019-12-17,19.79,254,95,6\n"596",2019-12-11,20.37,305,96,6\n"597",2019-12-12,19.95,286,97,6\n"598",2019-12-09,20.02,186,98,6\n"599",2019-12-30,20.46,217,99,6\n"600",2019-12-13,20.17,271,100,6\n"601",2019-12-23,21.59,306,1,7\n"602",2019-12-16,19.77,165,2,7\n"603",2019-12-26,20.81,254,3,7\n"604",2019-12-03,20.14,283,4,7\n"605",2019-12-28,20.37,132,5,7\n"606",2019-12-02,19.67,140,6,7\n"607",2019-12-29,20.99,231,7,7\n"608",2019-12-03,20.65,89,8,7\n"609",2019-12-06,21.25,285,9,7\n"610",2019-12-31,19.88,246,10,7\n"611",2019-12-31,19.95,300,11,7\n"612",2019-12-26,20.29,201,12,7\n"613",2019-12-12,19.73,344,13,7\n"614",2019-12-24,20.05,577,14,7\n"615",2019-12-26,19.81,162,15,7\n"616",2019-12-13,20.58,128,16,7\n"617",2019-12-31,20.56,297,17,7\n"618",2019-12-09,19.81,232,18,7\n"619",2019-12-12,21.22,172,19,7\n"620",2019-12-03,20.54,611,20,7\n"621",2019-12-21,19.66,131,21,7\n"622",2019-12-26,19.08,342,22,7\n"623",2019-12-30,20.45,394,23,7\n"624",2019-12-29,20.03,291,24,7\n"625",2019-12-27,21.05,340,25,7\n"626",2019-12-06,20.55,240,26,7\n"627",2019-12-31,20.34,104,27,7\n"628",2019-12-30,20.1,394,28,7\n"629",2019-12-30,19.33,275,29,7\n"630",2019-12-07,20.43,244,30,7\n"631",2019-12-12,20.79,232,31,7\n"632",2019-12-26,20.07,205,32,7\n"633",2019-12-28,20.73,271,33,7\n"634",2019-12-08,20.54,157,34,7\n"635",2019-12-08,21.11,367,35,7\n"636",2019-12-19,20.5,118,36,7\n"637",2019-12-18,20.48,325,37,7\n"638",2019-12-10,20.41,454,38,7\n"639",2019-12-02,19.9,212,39,7\n"640",2019-12-01,19.91,72,40,7\n"641",2019-12-30,19.84,457,41,7\n"642",2019-12-05,19.84,304,42,7\n"643",2019-12-05,21.02,255,43,7\n"644",2019-12-08,20.29,370,44,7\n"645",2019-12-10,19.77,347,45,7\n"646",2019-12-16,20.8,553,46,7\n"647",2019-12-29,20.19,352,47,7\n"648",2019-12-28,20.06,365,48,7\n"649",2019-12-20,20.3,456,49,7\n"650",2019-12-05,20.57,377,50,7\n"651",2019-12-19,20.4,323,51,7\n"652",2019-12-19,20.53,230,52,7\n"653",2019-12-26,19.05,290,53,7\n"654",2019-12-16,21.32,260,54,7\n"655",2019-12-23,20.72,281,55,7\n"656",2019-12-28,20.25,219,56,7\n"657",2019-12-06,20.14,315,57,7\n"658",2019-12-27,19.77,232,58,7\n"659",2019-12-25,20.48,152,59,7\n"660",2019-12-13,19.86,306,60,7\n"661",2019-12-10,20.22,163,61,7\n"662",2019-12-25,20.55,194,62,7\n"663",2019-12-15,20.42,377,63,7\n"664",2019-12-04,20.51,415,64,7\n"665",2019-12-09,19.63,493,65,7\n"666",2019-12-31,21.1,334,66,7\n"667",2019-12-14,21.09,382,67,7\n"668",2019-12-31,20.28,276,68,7\n"669",2019-12-06,20,89,69,7\n"670",2019-12-31,20.31,206,70,7\n"671",2019-12-29,20.22,706,71,7\n"672",2019-12-02,19.98,397,72,7\n"673",2019-12-13,19.45,141,73,7\n"674",2019-12-07,19.61,454,74,7\n"675",2019-12-28,20.44,418,75,7\n"676",2019-12-02,20.33,185,76,7\n"677",2019-12-21,19.18,151,77,7\n"678",2019-12-03,19.69,276,78,7\n"679",2019-12-22,19.52,111,79,7\n"680",2019-12-21,20.1,436,80,7\n"681",2019-12-18,20.26,252,81,7\n"682",2019-12-24,20.86,316,82,7\n"683",2019-12-24,20.14,233,83,7\n"684",2019-12-11,20.07,248,84,7\n"685",2019-12-27,20.43,293,85,7\n"686",2019-12-20,20.88,261,86,7\n"687",2019-12-29,19.42,215,87,7\n"688",2019-12-02,20.12,282,88,7\n"689",2019-12-01,19.28,298,89,7\n"690",2019-12-13,20.07,135,90,7\n"691",2019-12-05,20.21,257,91,7\n"692",2019-12-04,19.08,264,92,7\n"693",2019-12-27,19.69,313,93,7\n"694",2019-12-20,20.88,563,94,7\n"695",2019-12-17,21.56,239,95,7\n"696",2019-12-11,19.72,147,96,7\n"697",2019-12-12,20.06,492,97,7\n"698",2019-12-09,19.67,538,98,7\n"699",2019-12-30,20.13,234,99,7\n"700",2019-12-13,20.96,110,100,7\n"701",2019-12-23,19.89,178,1,8\n"702",2019-12-16,20.38,553,2,8\n"703",2019-12-26,21.28,632,3,8\n"704",2019-12-03,20.73,245,4,8\n"705",2019-12-28,21.15,326,5,8\n"706",2019-12-02,20.7,177,6,8\n"707",2019-12-29,20.04,486,7,8\n"708",2019-12-03,19.79,667,8,8\n"709",2019-12-06,19.47,203,9,8\n"710",2019-12-31,20.06,267,10,8\n"711",2019-12-31,19.41,210,11,8\n"712",2019-12-26,21.41,206,12,8\n"713",2019-12-12,20.16,1281,13,8\n"714",2019-12-24,20.93,270,14,8\n"715",2019-12-26,19.81,304,15,8\n"716",2019-12-13,21.24,463,16,8\n"717",2019-12-31,21.41,297,17,8\n"718",2019-12-09,20.72,198,18,8\n"719",2019-12-12,19.78,258,19,8\n"720",2019-12-03,20.56,134,20,8\n"721",2019-12-21,19.82,361,21,8\n"722",2019-12-26,20.59,183,22,8\n"723",2019-12-30,19.92,205,23,8\n"724",2019-12-29,21.05,100,24,8\n"725",2019-12-27,19.05,379,25,8\n"726",2019-12-06,20.85,778,26,8\n"727",2019-12-31,20.29,299,27,8\n"728",2019-12-30,20.49,184,28,8\n"729",2019-12-30,19.46,274,29,8\n"730",2019-12-07,20.32,92,30,8\n"731",2019-12-12,19.54,234,31,8\n"732",2019-12-26,21.11,151,32,8\n"733",2019-12-28,20.18,499,33,8\n"734",2019-12-08,20.32,236,34,8\n"735",2019-12-08,20.68,344,35,8\n"736",2019-12-19,20.91,353,36,8\n"737",2019-12-18,19.77,252,37,8\n"738",2019-12-10,20.39,286,38,8\n"739",2019-12-02,19.71,433,39,8\n"740",2019-12-01,20.8,265,40,8\n"741",2019-12-30,20.15,319,41,8\n"742",2019-12-05,19.32,74,42,8\n"743",2019-12-05,20.41,424,43,8\n"744",2019-12-08,21.56,347,44,8\n"745",2019-12-10,19.2,412,45,8\n"746",2019-12-16,21.93,351,46,8\n"747",2019-12-29,20.1,186,47,8\n"748",2019-12-28,20.92,281,48,8\n"749",2019-12-20,20.09,538,49,8\n"750",2019-12-05,20.37,811,50,8\n"751",2019-12-19,20.86,341,51,8\n"752",2019-12-19,20.31,922,52,8\n"753",2019-12-26,20.87,163,53,8\n"754",2019-12-16,20.32,321,54,8\n"755",2019-12-23,19.5,289,55,8\n"756",2019-12-28,20.77,313,56,8\n"757",2019-12-06,19.98,890,57,8\n"758",2019-12-27,19.36,226,58,8\n"759",2019-12-25,20.57,527,59,8\n"760",2019-12-13,20.83,185,60,8\n"761",2019-12-10,20.3,473,61,8\n"762",2019-12-25,21.03,220,62,8\n"763",2019-12-15,19.65,389,63,8\n"764",2019-12-04,20.05,156,64,8\n"765",2019-12-09,21.26,127,65,8\n"766",2019-12-31,20.7,520,66,8\n"767",2019-12-14,20.28,249,67,8\n"768",2019-12-31,19.89,125,68,8\n"769",2019-12-06,21.57,179,69,8\n"770",2019-12-31,19.7,185,70,8\n"771",2019-12-29,19.6,191,71,8\n"772",2019-12-02,20.69,210,72,8\n"773",2019-12-13,21.1,288,73,8\n"774",2019-12-07,19.84,97,74,8\n"775",2019-12-28,19.56,426,75,8\n"776",2019-12-02,20.5,369,76,8\n"777",2019-12-21,20.26,226,77,8\n"778",2019-12-03,20.12,158,78,8\n"779",2019-12-22,20.7,650,79,8\n"780",2019-12-21,20.18,257,80,8\n"781",2019-12-18,20.96,382,81,8\n"782",2019-12-24,20.78,214,82,8\n"783",2019-12-24,19.41,537,83,8\n"784",2019-12-11,21.16,212,84,8\n"785",2019-12-27,20.01,126,85,8\n"786",2019-12-20,19.97,293,86,8\n"787",2019-12-29,20.05,620,87,8\n"788",2019-12-02,19.62,188,88,8\n"789",2019-12-01,21.13,213,89,8\n"790",2019-12-13,19.89,259,90,8\n"791",2019-12-05,20.33,276,91,8\n"792",2019-12-04,20.25,215,92,8\n"793",2019-12-27,21.56,744,93,8\n"794",2019-12-20,20.71,457,94,8\n"795",2019-12-17,20.4,134,95,8\n"796",2019-12-11,21.23,293,96,8\n"797",2019-12-12,20.88,256,97,8\n"798",2019-12-09,20.24,260,98,8\n"799",2019-12-30,20.7,406,99,8\n"800",2019-12-13,20.06,255,100,8\n"801",2019-12-23,20.03,123,1,9\n"802",2019-12-16,20.52,275,2,9\n"803",2019-12-26,20.69,165,3,9\n"804",2019-12-03,20.93,569,4,9\n"805",2019-12-28,20.08,646,5,9\n"806",2019-12-02,20.33,265,6,9\n"807",2019-12-29,20.64,335,7,9\n"808",2019-12-03,20.31,85,8,9\n"809",2019-12-06,19.32,204,9,9\n"810",2019-12-31,19.35,194,10,9\n"811",2019-12-31,20.41,290,11,9\n"812",2019-12-26,19.54,342,12,9\n"813",2019-12-12,20.34,281,13,9\n"814",2019-12-24,19.8,1158,14,9\n"815",2019-12-26,21.04,171,15,9\n"816",2019-12-13,20.6,380,16,9\n"817",2019-12-31,21.39,269,17,9\n"818",2019-12-09,19.92,163,18,9\n"819",2019-12-12,19.07,669,19,9\n"820",2019-12-03,20.35,269,20,9\n"821",2019-12-21,19.63,387,21,9\n"822",2019-12-26,19.31,182,22,9\n"823",2019-12-30,20.42,181,23,9\n"824",2019-12-29,21.53,279,24,9\n"825",2019-12-27,20.62,494,25,9\n"826",2019-12-06,20.39,263,26,9\n"827",2019-12-31,20.46,335,27,9\n"828",2019-12-30,20.4,376,28,9\n"829",2019-12-30,20.31,323,29,9\n"830",2019-12-07,20.28,298,30,9\n"831",2019-12-12,21.21,164,31,9\n"832",2019-12-26,20.66,845,32,9\n"833",2019-12-28,20.37,246,33,9\n"834",2019-12-08,20.31,338,34,9\n"835",2019-12-08,20.57,244,35,9\n"836",2019-12-19,20.72,235,36,9\n"837",2019-12-18,20.97,211,37,9\n"838",2019-12-10,20.16,86,38,9\n"839",2019-12-02,20.33,132,39,9\n"840",2019-12-01,20.22,204,40,9\n"841",2019-12-30,20.77,171,41,9\n"842",2019-12-05,20.31,441,42,9\n"843",2019-12-05,20.64,160,43,9\n"844",2019-12-08,20.3,398,44,9\n"845",2019-12-10,20.63,524,45,9\n"846",2019-12-16,19.97,327,46,9\n"847",2019-12-29,20.35,455,47,9\n"848",2019-12-28,19,285,48,9\n"849",2019-12-20,21.23,162,49,9\n"850",2019-12-05,20.83,121,50,9\n"851",2019-12-19,20.32,177,51,9\n"852",2019-12-19,21,429,52,9\n"853",2019-12-26,20.11,555,53,9\n"854",2019-12-16,19.4,347,54,9\n"855",2019-12-23,21.1,314,55,9\n"856",2019-12-28,20.04,375,56,9\n"857",2019-12-06,20.5,205,57,9\n"858",2019-12-27,19.97,119,58,9\n"859",2019-12-25,20.51,292,59,9\n"860",2019-12-13,20.61,116,60,9\n"861",2019-12-10,20.08,462,61,9\n"862",2019-12-25,20.13,231,62,9\n"863",2019-12-15,20.02,460,63,9\n"864",2019-12-04,21.23,481,64,9\n"865",2019-12-09,19.83,687,65,9\n"866",2019-12-31,19.61,339,66,9\n"867",2019-12-14,20.34,87,67,9\n"868",2019-12-31,20.39,743,68,9\n"869",2019-12-06,19.82,287,69,9\n"870",2019-12-31,19.64,172,70,9\n"871",2019-12-29,20.61,300,71,9\n"872",2019-12-02,20.6,404,72,9\n"873",2019-12-13,20.35,223,73,9\n"874",2019-12-07,20.89,125,74,9\n"875",2019-12-28,20.29,732,75,9\n"876",2019-12-02,20.4,458,76,9\n"877",2019-12-21,20.28,504,77,9\n"878",2019-12-03,20.27,145,78,9\n"879",2019-12-22,20.23,260,79,9\n"880",2019-12-21,20.76,283,80,9\n"881",2019-12-18,20.82,306,81,9\n"882",2019-12-24,19.51,288,82,9\n"883",2019-12-24,19.39,143,83,9\n"884",2019-12-11,20.32,144,84,9\n"885",2019-12-27,19.44,130,85,9\n"886",2019-12-20,20.79,100,86,9\n"887",2019-12-29,20.59,238,87,9\n"888",2019-12-02,20.52,115,88,9\n"889",2019-12-01,20.83,135,89,9\n"890",2019-12-13,21.22,381,90,9\n"891",2019-12-05,21.12,421,91,9\n"892",2019-12-04,19.38,250,92,9\n"893",2019-12-27,20.37,424,93,9\n"894",2019-12-20,19.94,219,94,9\n"895",2019-12-17,19.82,188,95,9\n"896",2019-12-11,20.19,245,96,9\n"897",2019-12-12,20.69,156,97,9\n"898",2019-12-09,19.92,300,98,9\n"899",2019-12-30,19.84,155,99,9\n"900",2019-12-13,20.64,179,100,9\n"901",2019-12-23,20.06,398,1,10\n"902",2019-12-16,20.18,156,2,10\n"903",2019-12-26,20.6,236,3,10\n"904",2019-12-03,20.16,259,4,10\n"905",2019-12-28,19.37,526,5,10\n"906",2019-12-02,19.44,116,6,10\n"907",2019-12-29,21.16,178,7,10\n"908",2019-12-03,20.39,280,8,10\n"909",2019-12-06,19.4,324,9,10\n"910",2019-12-31,19.29,390,10,10\n"911",2019-12-31,18.81,586,11,10\n"912",2019-12-26,19.88,312,12,10\n"913",2019-12-12,20.83,230,13,10\n"914",2019-12-24,19.91,216,14,10\n"915",2019-12-26,20.82,465,15,10\n"916",2019-12-13,20.4,535,16,10\n"917",2019-12-31,20.4,263,17,10\n"918",2019-12-09,20.35,404,18,10\n"919",2019-12-12,19.8,401,19,10\n"920",2019-12-03,20.78,297,20,10\n"921",2019-12-21,19.55,231,21,10\n"922",2019-12-26,19.38,147,22,10\n"923",2019-12-30,19.56,219,23,10\n"924",2019-12-29,20.32,328,24,10\n"925",2019-12-27,19.89,125,25,10\n"926",2019-12-06,21.14,262,26,10\n"927",2019-12-31,20.47,253,27,10\n"928",2019-12-30,19.88,620,28,10\n"929",2019-12-30,20.26,159,29,10\n"930",2019-12-07,20.48,245,30,10\n"931",2019-12-12,20.16,317,31,10\n"932",2019-12-26,20.2,337,32,10\n"933",2019-12-28,21.25,220,33,10\n"934",2019-12-08,21.02,303,34,10\n"935",2019-12-08,19.73,422,35,10\n"936",2019-12-19,20.44,379,36,10\n"937",2019-12-18,19.54,755,37,10\n"938",2019-12-10,20.73,219,38,10\n"939",2019-12-02,20.61,199,39,10\n"940",2019-12-01,20.56,146,40,10\n"941",2019-12-30,20.14,193,41,10\n"942",2019-12-05,19,378,42,10\n"943",2019-12-05,20.59,200,43,10\n"944",2019-12-08,19.92,185,44,10\n"945",2019-12-10,20.36,346,45,10\n"946",2019-12-16,20.92,252,46,10\n"947",2019-12-29,20.3,274,47,10\n"948",2019-12-28,20.89,251,48,10\n"949",2019-12-20,20.31,277,49,10\n"950",2019-12-05,20.96,150,50,10\n"951",2019-12-19,20.98,323,51,10\n"952",2019-12-19,20.84,445,52,10\n"953",2019-12-26,20.44,218,53,10\n"954",2019-12-16,20.78,317,54,10\n"955",2019-12-23,19.6,313,55,10\n"956",2019-12-28,20.65,318,56,10\n"957",2019-12-06,20.68,434,57,10\n"958",2019-12-27,20.38,252,58,10\n"959",2019-12-25,20.31,632,59,10\n"960",2019-12-13,20.2,185,60,10\n"961",2019-12-10,20.48,475,61,10\n"962",2019-12-25,19.58,299,62,10\n"963",2019-12-15,20.59,134,63,10\n"964",2019-12-04,20.31,270,64,10\n"965",2019-12-09,20.81,151,65,10\n"966",2019-12-31,21.71,327,66,10\n"967",2019-12-14,20.5,307,67,10\n"968",2019-12-31,19.44,295,68,10\n"969",2019-12-06,19.77,353,69,10\n"970",2019-12-31,19.93,183,70,10\n"971",2019-12-29,20.37,248,71,10\n"972",2019-12-02,20.14,194,72,10\n"973",2019-12-13,20.11,467,73,10\n"974",2019-12-07,20.12,357,74,10\n"975",2019-12-28,20.43,114,75,10\n"976",2019-12-02,20.47,285,76,10\n"977",2019-12-21,19.43,135,77,10\n"978",2019-12-03,20.27,638,78,10\n"979",2019-12-22,20.38,196,79,10\n"980",2019-12-21,20.88,161,80,10\n"981",2019-12-18,21.73,117,81,10\n"982",2019-12-24,19.9,288,82,10\n"983",2019-12-24,20.59,398,83,10\n"984",2019-12-11,21.34,389,84,10\n"985",2019-12-27,20.95,379,85,10\n"986",2019-12-20,19.58,335,86,10\n"987",2019-12-29,20.5,181,87,10\n"988",2019-12-02,19.98,310,88,10\n"989",2019-12-01,19.97,297,89,10\n"990",2019-12-13,19.96,275,90,10\n"991",2019-12-05,19.85,222,91,10\n"992",2019-12-04,20.86,247,92,10\n"993",2019-12-27,20.38,236,93,10\n"994",2019-12-20,20.78,394,94,10\n"995",2019-12-17,19.68,169,95,10\n"996",2019-12-11,19.98,500,96,10\n"997",2019-12-12,19.15,366,97,10\n"998",2019-12-09,19.26,270,98,10\n"999",2019-12-30,19.79,550,99,10\n"1000",2019-12-13,20.27,348,100,10\n"1001",2020-01-25,21.09,315,1,1\n"1002",2020-01-31,21.44,369,2,1\n"1003",2020-01-02,21.82,279,3,1\n"1004",2020-01-04,20.68,452,4,1\n"1005",2020-01-14,21.44,316,5,1\n"1006",2020-01-27,21.47,390,6,1\n"1007",2020-01-31,20.4,110,7,1\n"1008",2020-01-21,22.39,634,8,1\n"1009",2020-01-19,20.57,562,9,1\n"1010",2020-01-07,21.25,259,10,1\n"1011",2020-01-21,20.52,567,11,1\n"1012",2020-01-12,19.62,338,12,1\n"1013",2020-01-04,22.22,206,13,1\n"1014",2020-01-15,20.38,377,14,1\n"1015",2020-01-27,21.49,246,15,1\n"1016",2020-01-06,21.12,236,16,1\n"1017",2020-01-18,21.45,328,17,1\n"1018",2020-01-31,20.88,205,18,1\n"1019",2020-01-02,21.56,217,19,1\n"1020",2020-01-28,21.2,174,20,1\n"1021",2020-01-03,21.12,292,21,1\n"1022",2020-01-12,20.92,333,22,1\n"1023",2020-01-13,21.92,383,23,1\n"1024",2020-01-27,20.56,125,24,1\n"1025",2020-01-15,20.69,382,25,1\n"1026",2020-01-28,20.74,241,26,1\n"1027",2020-01-23,21.66,110,27,1\n"1028",2020-01-14,20.79,529,28,1\n"1029",2020-01-15,21.43,365,29,1\n"1030",2020-01-13,21,296,30,1\n"1031",2020-01-07,21.02,273,31,1\n"1032",2020-01-29,20.36,125,32,1\n"1033",2020-01-21,21.29,306,33,1\n"1034",2020-01-03,21.55,418,34,1\n"1035",2020-01-15,20.81,319,35,1\n"1036",2020-01-18,21.79,289,36,1\n"1037",2020-01-29,21.08,225,37,1\n"1038",2020-01-13,20.37,245,38,1\n"1039",2020-01-01,21.91,235,39,1\n"1040",2020-01-01,20.85,331,40,1\n"1041",2020-01-12,20.99,118,41,1\n"1042",2020-01-31,20.99,353,42,1\n"1043",2020-01-08,19.63,335,43,1\n"1044",2020-01-09,20.24,155,44,1\n"1045",2020-01-11,21.06,375,45,1\n"1046",2020-01-09,20.75,328,46,1\n"1047",2020-01-12,20.35,344,47,1\n"1048",2020-01-24,21.03,162,48,1\n"1049",2020-01-16,21.96,559,49,1\n"1050",2020-01-05,21.4,268,50,1\n"1051",2020-01-29,20.44,171,51,1\n"1052",2020-01-14,21.53,344,52,1\n"1053",2020-01-12,20.88,366,53,1\n"1054",2020-01-04,21.12,279,54,1\n"1055",2020-01-20,20.95,210,55,1\n"1056",2020-01-12,19.74,336,56,1\n"1057",2020-01-18,21.97,531,57,1\n"1058",2020-01-02,20.98,183,58,1\n"1059",2020-01-30,21.54,142,59,1\n"1060",2020-01-18,19.22,325,60,1\n"1061",2020-01-31,21.18,150,61,1\n"1062",2020-01-25,22.34,235,62,1\n"1063",2020-01-11,20.31,326,63,1\n"1064",2020-01-31,21.26,460,64,1\n"1065",2020-01-24,21.17,538,65,1\n"1066",2020-01-20,21.32,304,66,1\n"1067",2020-01-20,21.28,313,67,1\n"1068",2020-01-13,21.23,254,68,1\n"1069",2020-01-07,21.91,218,69,1\n"1070",2020-01-25,20.43,532,70,1\n"1071",2020-01-29,21.66,150,71,1\n"1072",2020-01-13,19.73,741,72,1\n"1073",2020-01-11,20.87,464,73,1\n"1074",2020-01-23,21.49,440,74,1\n"1075",2020-01-16,21.38,249,75,1\n"1076",2020-01-17,19.15,546,76,1\n"1077",2020-01-07,21.01,233,77,1\n"1078",2020-01-10,20.79,235,78,1\n"1079",2020-01-18,20.56,325,79,1\n"1080",2020-01-31,19.98,138,80,1\n"1081",2020-01-26,20.96,215,81,1\n"1082",2020-01-05,21.37,763,82,1\n"1083",2020-01-15,21.11,120,83,1\n"1084",2020-01-09,20.05,405,84,1\n"1085",2020-01-02,20.53,248,85,1\n"1086",2020-01-24,21.82,400,86,1\n"1087",2020-01-30,22.24,323,87,1\n"1088",2020-01-23,21.61,496,88,1\n"1089",2020-01-01,20.61,218,89,1\n"1090",2020-01-25,20.16,315,90,1\n"1091",2020-01-16,20.54,172,91,1\n"1092",2020-01-21,20.67,434,92,1\n"1093",2020-01-20,21.3,494,93,1\n"1094",2020-01-30,19.77,373,94,1\n"1095",2020-01-07,20.87,194,95,1\n"1096",2020-01-16,22.19,361,96,1\n"1097",2020-01-06,21.27,537,97,1\n"1098",2020-01-05,20.91,487,98,1\n"1099",2020-01-19,21.05,624,99,1\n"1100",2020-01-15,20.52,181,100,1\n"1101",2020-01-25,21.53,218,1,2\n"1102",2020-01-31,20.52,292,2,2\n"1103",2020-01-02,21.12,183,3,2\n"1104",2020-01-04,20.9,320,4,2\n"1105",2020-01-14,20.9,209,5,2\n"1106",2020-01-27,20.69,154,6,2\n"1107",2020-01-31,19.78,178,7,2\n"1108",2020-01-21,22.39,316,8,2\n"1109",2020-01-19,20.96,388,9,2\n"1110",2020-01-07,21.27,257,10,2\n"1111",2020-01-21,21.28,452,11,2\n"1112",2020-01-12,20.9,543,12,2\n"1113",2020-01-04,22.01,615,13,2\n"1114",2020-01-15,21.14,217,14,2\n"1115",2020-01-27,21.08,175,15,2\n"1116",2020-01-06,20.01,139,16,2\n"1117",2020-01-18,21.62,392,17,2\n"1118",2020-01-31,20.5,172,18,2\n"1119",2020-01-02,20.83,376,19,2\n"1120",2020-01-28,21.42,257,20,2\n"1121",2020-01-03,21.09,436,21,2\n"1122",2020-01-12,19.65,139,22,2\n"1123",2020-01-13,20.48,111,23,2\n"1124",2020-01-27,21.17,316,24,2\n"1125",2020-01-15,21.87,145,25,2\n"1126",2020-01-28,21.14,123,26,2\n"1127",2020-01-23,20.03,208,27,2\n"1128",2020-01-14,20.52,327,28,2\n"1129",2020-01-15,20.69,590,29,2\n"1130",2020-01-13,21.11,271,30,2\n"1131",2020-01-07,21.4,264,31,2\n"1132",2020-01-29,20.81,348,32,2\n"1133",2020-01-21,20.54,202,33,2\n"1134",2020-01-03,19.98,352,34,2\n"1135",2020-01-15,21.28,426,35,2\n"1136",2020-01-18,21.46,417,36,2\n"1137",2020-01-29,20.95,253,37,2\n"1138",2020-01-13,19.91,298,38,2\n"1139",2020-01-01,21.09,347,39,2\n"1140",2020-01-01,23.1,353,40,2\n"1141",2020-01-12,20.21,179,41,2\n"1142",2020-01-31,21.48,303,42,2\n"1143",2020-01-08,21.5,358,43,2\n"1144",2020-01-09,21.47,184,44,2\n"1145",2020-01-11,20.5,125,45,2\n"1146",2020-01-09,20.59,270,46,2\n"1147",2020-01-12,20.59,229,47,2\n"1148",2020-01-24,21.19,455,48,2\n"1149",2020-01-16,20.46,355,49,2\n"1150",2020-01-05,20.57,198,50,2\n"1151",2020-01-29,20.91,556,51,2\n"1152",2020-01-14,20.97,162,52,2\n"1153",2020-01-12,21.55,163,53,2\n"1154",2020-01-04,20.87,158,54,2\n"1155",2020-01-20,21.45,168,55,2\n"1156",2020-01-12,22.08,150,56,2\n"1157",2020-01-18,20.54,298,57,2\n"1158",2020-01-02,20.44,254,58,2\n"1159",2020-01-30,19.81,129,59,2\n"1160",2020-01-18,22.72,370,60,2\n"1161",2020-01-31,21.16,272,61,2\n"1162",2020-01-25,21.23,93,62,2\n"1163",2020-01-11,19.77,1121,63,2\n"1164",2020-01-31,20.93,118,64,2\n"1165",2020-01-24,21.2,439,65,2\n"1166",2020-01-20,22.08,486,66,2\n"1167",2020-01-20,20.35,117,67,2\n"1168",2020-01-13,20.79,402,68,2\n"1169",2020-01-07,20.83,250,69,2\n"1170",2020-01-25,20.94,219,70,2\n"1171",2020-01-29,21.51,319,71,2\n"1172",2020-01-13,21.49,126,72,2\n"1173",2020-01-11,20.7,440,73,2\n"1174",2020-01-23,20.97,162,74,2\n"1175",2020-01-16,21.14,295,75,2\n"1176",2020-01-17,21.2,269,76,2\n"1177",2020-01-07,21.47,148,77,2\n"1178",2020-01-10,20.87,367,78,2\n"1179",2020-01-18,19.88,302,79,2\n"1180",2020-01-31,21.21,239,80,2\n"1181",2020-01-26,21.27,214,81,2\n"1182",2020-01-05,20.9,209,82,2\n"1183",2020-01-15,20.77,135,83,2\n"1184",2020-01-09,21.4,430,84,2\n"1185",2020-01-02,20.37,344,85,2\n"1186",2020-01-24,20.45,213,86,2\n"1187",2020-01-30,21.1,162,87,2\n"1188",2020-01-23,21.33,473,88,2\n"1189",2020-01-01,20.1,364,89,2\n"1190",2020-01-25,22.04,186,90,2\n"1191",2020-01-16,20.88,131,91,2\n"1192",2020-01-21,21.35,260,92,2\n"1193",2020-01-20,20.7,378,93,2\n"1194",2020-01-30,19.61,254,94,2\n"1195",2020-01-07,20.28,126,95,2\n"1196",2020-01-16,20.15,291,96,2\n"1197",2020-01-06,21.21,893,97,2\n"1198",2020-01-05,20.23,486,98,2\n"1199",2020-01-19,20.19,369,99,2\n"1200",2020-01-15,21.88,195,100,2\n"1201",2020-01-25,20.98,189,1,3\n"1202",2020-01-31,20.88,489,2,3\n"1203",2020-01-02,20.91,153,3,3\n"1204",2020-01-04,22.37,364,4,3\n"1205",2020-01-14,20.46,230,5,3\n"1206",2020-01-27,21.18,411,6,3\n"1207",2020-01-31,20.82,302,7,3\n"1208",2020-01-21,21.55,275,8,3\n"1209",2020-01-19,21.13,261,9,3\n"1210",2020-01-07,19.07,255,10,3\n"1211",2020-01-21,21.2,231,11,3\n"1212",2020-01-12,21.07,241,12,3\n"1213",2020-01-04,20.58,114,13,3\n"1214",2020-01-15,20.59,405,14,3\n"1215",2020-01-27,21.03,215,15,3\n"1216",2020-01-06,20.41,219,16,3\n"1217",2020-01-18,20.53,322,17,3\n"1218",2020-01-31,20.97,111,18,3\n"1219",2020-01-02,21.74,883,19,3\n"1220",2020-01-28,21.38,343,20,3\n"1221",2020-01-03,21.15,266,21,3\n"1222",2020-01-12,21.18,185,22,3\n"1223",2020-01-13,20.8,234,23,3\n"1224",2020-01-27,22.19,253,24,3\n"1225",2020-01-15,19.66,344,25,3\n"1226",2020-01-28,21.75,263,26,3\n"1227",2020-01-23,21.11,313,27,3\n"1228",2020-01-14,20.89,181,28,3\n"1229",2020-01-15,22.25,287,29,3\n"1230",2020-01-13,21.4,393,30,3\n"1231",2020-01-07,21.78,246,31,3\n"1232",2020-01-29,20.74,301,32,3\n"1233",2020-01-21,20.7,328,33,3\n"1234",2020-01-03,21.01,375,34,3\n"1235",2020-01-15,22.21,117,35,3\n"1236",2020-01-18,20.33,199,36,3\n"1237",2020-01-29,21.69,301,37,3\n"1238",2020-01-13,21.45,91,38,3\n"1239",2020-01-01,21.64,128,39,3\n"1240",2020-01-01,20.87,224,40,3\n"1241",2020-01-12,21.31,178,41,3\n"1242",2020-01-31,21.84,330,42,3\n"1243",2020-01-08,21.19,615,43,3\n"1244",2020-01-09,21.71,315,44,3\n"1245",2020-01-11,22.17,188,45,3\n"1246",2020-01-09,21.11,217,46,3\n"1247",2020-01-12,20.25,117,47,3\n"1248",2020-01-24,21.7,284,48,3\n"1249",2020-01-16,21.41,333,49,3\n"1250",2020-01-05,21.49,217,50,3\n"1251",2020-01-29,21.02,232,51,3\n"1252",2020-01-14,21.67,219,52,3\n"1253",2020-01-12,21.36,436,53,3\n"1254",2020-01-04,20.73,126,54,3\n"1255",2020-01-20,21.12,242,55,3\n"1256",2020-01-12,21.39,127,56,3\n"1257",2020-01-18,19.97,321,57,3\n"1258",2020-01-02,21.57,213,58,3\n"1259",2020-01-30,20.85,325,59,3\n"1260",2020-01-18,21.36,461,60,3\n"1261",2020-01-31,20.97,339,61,3\n"1262",2020-01-25,20.71,150,62,3\n"1263",2020-01-11,22.18,249,63,3\n"1264",2020-01-31,22.24,246,64,3\n"1265",2020-01-24,21.15,179,65,3\n"1266",2020-01-20,19.94,611,66,3\n"1267",2020-01-20,21.46,213,67,3\n"1268",2020-01-13,20.73,223,68,3\n"1269",2020-01-07,20.36,314,69,3\n"1270",2020-01-25,21.26,174,70,3\n"1271",2020-01-29,21.15,236,71,3\n"1272",2020-01-13,20.5,396,72,3\n"1273",2020-01-11,20.89,129,73,3\n"1274",2020-01-23,20.28,1045,74,3\n"1275",2020-01-16,20.45,514,75,3\n"1276",2020-01-17,21.36,264,76,3\n"1277",2020-01-07,20.67,623,77,3\n"1278",2020-01-10,21.77,250,78,3\n"1279",2020-01-18,20.6,228,79,3\n"1280",2020-01-31,19.98,202,80,3\n"1281",2020-01-26,20.83,140,81,3\n"1282",2020-01-05,19.24,180,82,3\n"1283",2020-01-15,20.78,168,83,3\n"1284",2020-01-09,20.86,244,84,3\n"1285",2020-01-02,20.29,274,85,3\n"1286",2020-01-24,20.8,147,86,3\n"1287",2020-01-30,21.03,302,87,3\n"1288",2020-01-23,22.31,279,88,3\n"1289",2020-01-01,21.81,178,89,3\n"1290",2020-01-25,20.48,281,90,3\n"1291",2020-01-16,21.58,170,91,3\n"1292",2020-01-21,20.61,360,92,3\n"1293",2020-01-20,21.87,165,93,3\n"1294",2020-01-30,21.51,638,94,3\n"1295",2020-01-07,22.54,179,95,3\n"1296",2020-01-16,21.25,302,96,3\n"1297",2020-01-06,20.66,342,97,3\n"1298",2020-01-05,19.99,452,98,3\n"1299",2020-01-19,21.46,197,99,3\n"1300",2020-01-15,20.99,543,100,3\n"1301",2020-01-25,21.26,281,1,4\n"1302",2020-01-31,21.43,157,2,4\n"1303",2020-01-02,20.56,122,3,4\n"1304",2020-01-04,22.2,288,4,4\n"1305",2020-01-14,21.9,156,5,4\n"1306",2020-01-27,21.03,698,6,4\n"1307",2020-01-31,21.65,250,7,4\n"1308",2020-01-21,21.06,174,8,4\n"1309",2020-01-19,20.13,326,9,4\n"1310",2020-01-07,22.12,483,10,4\n"1311",2020-01-21,19.48,359,11,4\n"1312",2020-01-12,21.38,307,12,4\n"1313",2020-01-04,21.68,295,13,4\n"1314",2020-01-15,20.42,366,14,4\n"1315",2020-01-27,20.87,424,15,4\n"1316",2020-01-06,20.62,337,16,4\n"1317",2020-01-18,19.71,257,17,4\n"1318",2020-01-31,20.68,316,18,4\n"1319",2020-01-02,21,213,19,4\n"1320",2020-01-28,21.15,133,20,4\n"1321",2020-01-03,20.72,170,21,4\n"1322",2020-01-12,20.89,257,22,4\n"1323",2020-01-13,20.97,192,23,4\n"1324",2020-01-27,20.99,174,24,4\n"1325",2020-01-15,20.86,184,25,4\n"1326",2020-01-28,21.29,220,26,4\n"1327",2020-01-23,21.03,259,27,4\n"1328",2020-01-14,20.41,127,28,4\n"1329",2020-01-15,21.42,178,29,4\n"1330",2020-01-13,20.06,293,30,4\n"1331",2020-01-07,20.49,236,31,4\n"1332",2020-01-29,19.85,311,32,4\n"1333",2020-01-21,21.62,194,33,4\n"1334",2020-01-03,21.11,217,34,4\n"1335",2020-01-15,22.75,174,35,4\n"1336",2020-01-18,20.48,218,36,4\n"1337",2020-01-29,20.68,170,37,4\n"1338",2020-01-13,21.38,421,38,4\n"1339",2020-01-01,21.76,328,39,4\n"1340",2020-01-01,21.14,336,40,4\n"1341",2020-01-12,22.32,492,41,4\n"1342",2020-01-31,21.89,248,42,4\n"1343",2020-01-08,21.02,414,43,4\n"1344",2020-01-09,20.06,537,44,4\n"1345",2020-01-11,21.91,99,45,4\n"1346",2020-01-09,20.59,417,46,4\n"1347",2020-01-12,21.87,269,47,4\n"1348",2020-01-24,22.79,254,48,4\n"1349",2020-01-16,21.49,234,49,4\n"1350",2020-01-05,21.93,273,50,4\n"1351",2020-01-29,20.54,385,51,4\n"1352",2020-01-14,20.78,129,52,4\n"1353",2020-01-12,20.26,131,53,4\n"1354",2020-01-04,20.97,519,54,4\n"1355",2020-01-20,20.62,484,55,4\n"1356",2020-01-12,19.99,160,56,4\n"1357",2020-01-18,21.19,327,57,4\n"1358",2020-01-02,20.32,453,58,4\n"1359",2020-01-30,20.79,239,59,4\n"1360",2020-01-18,21.4,806,60,4\n"1361",2020-01-31,21.51,319,61,4\n"1362",2020-01-25,19.6,127,62,4\n"1363",2020-01-11,20.4,141,63,4\n"1364",2020-01-31,20.58,289,64,4\n"1365",2020-01-24,21,220,65,4\n"1366",2020-01-20,21.25,430,66,4\n"1367",2020-01-20,19.82,221,67,4\n"1368",2020-01-13,19.46,226,68,4\n"1369",2020-01-07,21.48,209,69,4\n"1370",2020-01-25,22.44,349,70,4\n"1371",2020-01-29,20.16,101,71,4\n"1372",2020-01-13,21.05,408,72,4\n"1373",2020-01-11,20.79,161,73,4\n"1374",2020-01-23,21.53,198,74,4\n"1375",2020-01-16,20.42,292,75,4\n"1376",2020-01-17,21.63,265,76,4\n"1377",2020-01-07,20.81,139,77,4\n"1378",2020-01-10,20.14,365,78,4\n"1379",2020-01-18,22.32,366,79,4\n"1380",2020-01-31,20.94,858,80,4\n"1381",2020-01-26,20.6,132,81,4\n"1382",2020-01-05,21.47,626,82,4\n"1383",2020-01-15,20.41,336,83,4\n"1384",2020-01-09,21.45,388,84,4\n"1385",2020-01-02,20.8,219,85,4\n"1386",2020-01-24,21.59,346,86,4\n"1387",2020-01-30,19.97,349,87,4\n"1388",2020-01-23,20.39,299,88,4\n"1389",2020-01-01,20.94,517,89,4\n"1390",2020-01-25,21.16,370,90,4\n"1391",2020-01-16,21.36,121,91,4\n"1392",2020-01-21,20.76,636,92,4\n"1393",2020-01-20,21.44,360,93,4\n"1394",2020-01-30,20.4,159,94,4\n"1395",2020-01-07,22.11,201,95,4\n"1396",2020-01-16,21.17,415,96,4\n"1397",2020-01-06,20.56,333,97,4\n"1398",2020-01-05,20.87,303,98,4\n"1399",2020-01-19,20.14,270,99,4\n"1400",2020-01-15,21.63,184,100,4\n"1401",2020-01-25,20.32,732,1,5\n"1402",2020-01-31,22.3,199,2,5\n"1403",2020-01-02,21.11,323,3,5\n"1404",2020-01-04,20.1,372,4,5\n"1405",2020-01-14,21.01,220,5,5\n"1406",2020-01-27,19.98,225,6,5\n"1407",2020-01-31,19.89,208,7,5\n"1408",2020-01-21,21.07,220,8,5\n"1409",2020-01-19,22.35,295,9,5\n"1410",2020-01-07,19.66,404,10,5\n"1411",2020-01-21,20.51,175,11,5\n"1412",2020-01-12,22.27,479,12,5\n"1413",2020-01-04,19.61,294,13,5\n"1414",2020-01-15,21.54,598,14,5\n"1415",2020-01-27,21.63,196,15,5\n"1416",2020-01-06,22.06,148,16,5\n"1417",2020-01-18,21.69,212,17,5\n"1418",2020-01-31,21,311,18,5\n"1419",2020-01-02,20.32,456,19,5\n"1420",2020-01-28,21.35,382,20,5\n"1421",2020-01-03,20.98,293,21,5\n"1422",2020-01-12,22.2,309,22,5\n"1423",2020-01-13,21.46,504,23,5\n"1424",2020-01-27,20.79,520,24,5\n"1425",2020-01-15,20.23,219,25,5\n"1426",2020-01-28,21.03,673,26,5\n"1427",2020-01-23,20.24,153,27,5\n"1428",2020-01-14,19.05,331,28,5\n"1429",2020-01-15,21.43,286,29,5\n"1430",2020-01-13,20.27,402,30,5\n"1431",2020-01-07,20.76,140,31,5\n"1432",2020-01-29,21.73,258,32,5\n"1433",2020-01-21,21.36,197,33,5\n"1434",2020-01-03,21.48,161,34,5\n"1435",2020-01-15,20.24,414,35,5\n"1436",2020-01-18,21.65,279,36,5\n"1437",2020-01-29,21.11,59,37,5\n"1438",2020-01-13,20.19,454,38,5\n"1439",2020-01-01,23.26,594,39,5\n"1440",2020-01-01,20.42,361,40,5\n"1441",2020-01-12,20.82,167,41,5\n"1442",2020-01-31,20.21,252,42,5\n"1443",2020-01-08,20.72,234,43,5\n"1444",2020-01-09,20.51,256,44,5\n"1445",2020-01-11,20.74,342,45,5\n"1446",2020-01-09,20.73,768,46,5\n"1447",2020-01-12,20.63,225,47,5\n"1448",2020-01-24,20.23,276,48,5\n"1449",2020-01-16,21.87,179,49,5\n"1450",2020-01-05,21.51,268,50,5\n"1451",2020-01-29,20.72,308,51,5\n"1452",2020-01-14,20.45,184,52,5\n"1453",2020-01-12,20.56,197,53,5\n"1454",2020-01-04,21.28,264,54,5\n"1455",2020-01-20,20.13,344,55,5\n"1456",2020-01-12,19.85,407,56,5\n"1457",2020-01-18,20.24,190,57,5\n"1458",2020-01-02,21,127,58,5\n"1459",2020-01-30,21.21,307,59,5\n"1460",2020-01-18,19.9,241,60,5\n"1461",2020-01-31,21.92,474,61,5\n"1462",2020-01-25,19.87,267,62,5\n"1463",2020-01-11,21.18,404,63,5\n"1464",2020-01-31,20.06,354,64,5\n"1465",2020-01-24,19.86,114,65,5\n"1466",2020-01-20,20.22,183,66,5\n"1467",2020-01-20,20.62,280,67,5\n"1468",2020-01-13,20.41,187,68,5\n"1469",2020-01-07,21.14,314,69,5\n"1470",2020-01-25,22.38,271,70,5\n"1471",2020-01-29,22.21,499,71,5\n"1472",2020-01-13,21.06,181,72,5\n"1473",2020-01-11,21.34,494,73,5\n"1474",2020-01-23,20.91,400,74,5\n"1475",2020-01-16,20.83,263,75,5\n"1476",2020-01-17,20.54,279,76,5\n"1477",2020-01-07,20.12,338,77,5\n"1478",2020-01-10,20.42,268,78,5\n"1479",2020-01-18,21.44,223,79,5\n"1480",2020-01-31,21.21,385,80,5\n"1481",2020-01-26,19.8,116,81,5\n"1482",2020-01-05,20.29,455,82,5\n"1483",2020-01-15,20.61,282,83,5\n"1484",2020-01-09,19.5,329,84,5\n"1485",2020-01-02,19.73,236,85,5\n"1486",2020-01-24,21.79,711,86,5\n"1487",2020-01-30,21.77,349,87,5\n"1488",2020-01-23,21.65,331,88,5\n"1489",2020-01-01,21.1,456,89,5\n"1490",2020-01-25,21.54,175,90,5\n"1491",2020-01-16,21.38,207,91,5\n"1492",2020-01-21,20.56,134,92,5\n"1493",2020-01-20,20.64,432,93,5\n"1494",2020-01-30,20.55,258,94,5\n"1495",2020-01-07,20.98,551,95,5\n"1496",2020-01-16,20.54,153,96,5\n"1497",2020-01-06,20.78,331,97,5\n"1498",2020-01-05,21.06,327,98,5\n"1499",2020-01-19,21.04,264,99,5\n"1500",2020-01-15,22.06,358,100,5\n"1501",2020-01-25,21.04,352,1,6\n"1502",2020-01-31,21.85,214,2,6\n"1503",2020-01-02,21.89,214,3,6\n"1504",2020-01-04,20.71,301,4,6\n"1505",2020-01-14,20.49,236,5,6\n"1506",2020-01-27,20.88,364,6,6\n"1507",2020-01-31,19.89,280,7,6\n"1508",2020-01-21,20.78,471,8,6\n"1509",2020-01-19,21.86,217,9,6\n"1510",2020-01-07,20.55,229,10,6\n"1511",2020-01-21,21.37,383,11,6\n"1512",2020-01-12,20.55,172,12,6\n"1513",2020-01-04,20.64,297,13,6\n"1514",2020-01-15,21.27,448,14,6\n"1515",2020-01-27,21.35,372,15,6\n"1516",2020-01-06,21.02,187,16,6\n"1517",2020-01-18,20.94,532,17,6\n"1518",2020-01-31,20.63,355,18,6\n"1519",2020-01-02,20.49,460,19,6\n"1520",2020-01-28,21.76,157,20,6\n"1521",2020-01-03,20.24,194,21,6\n"1522",2020-01-12,20.86,246,22,6\n"1523",2020-01-13,20.64,148,23,6\n"1524",2020-01-27,21.26,299,24,6\n"1525",2020-01-15,20.18,249,25,6\n"1526",2020-01-28,20.67,498,26,6\n"1527",2020-01-23,20.72,346,27,6\n"1528",2020-01-14,20.8,457,28,6\n"1529",2020-01-15,20.12,187,29,6\n"1530",2020-01-13,20.25,256,30,6\n"1531",2020-01-07,21.06,327,31,6\n"1532",2020-01-29,21.08,398,32,6\n"1533",2020-01-21,20.31,167,33,6\n"1534",2020-01-03,20.28,311,34,6\n"1535",2020-01-15,22.18,78,35,6\n"1536",2020-01-18,20.91,533,36,6\n"1537",2020-01-29,20.66,428,37,6\n"1538",2020-01-13,21.28,232,38,6\n"1539",2020-01-01,20.64,203,39,6\n"1540",2020-01-01,21.65,190,40,6\n"1541",2020-01-12,20.07,352,41,6\n"1542",2020-01-31,21.74,193,42,6\n"1543",2020-01-08,21.93,342,43,6\n"1544",2020-01-09,20.2,584,44,6\n"1545",2020-01-11,21.7,324,45,6\n"1546",2020-01-09,20.79,473,46,6\n"1547",2020-01-12,21.17,215,47,6\n"1548",2020-01-24,21.45,146,48,6\n"1549",2020-01-16,20.38,140,49,6\n"1550",2020-01-05,20.86,188,50,6\n"1551",2020-01-29,20.37,376,51,6\n"1552",2020-01-14,21.46,414,52,6\n"1553",2020-01-12,21.63,271,53,6\n"1554",2020-01-04,21.47,222,54,6\n"1555",2020-01-20,21.35,211,55,6\n"1556",2020-01-12,21.71,257,56,6\n"1557",2020-01-18,21.9,134,57,6\n"1558",2020-01-02,20.79,419,58,6\n"1559",2020-01-30,20.65,191,59,6\n"1560",2020-01-18,21.28,98,60,6\n"1561",2020-01-31,19.66,434,61,6\n"1562",2020-01-25,20.74,377,62,6\n"1563",2020-01-11,20.06,311,63,6\n"1564",2020-01-31,20.46,380,64,6\n"1565",2020-01-24,20.7,388,65,6\n"1566",2020-01-20,22.02,332,66,6\n"1567",2020-01-20,21.64,278,67,6\n"1568",2020-01-13,19.71,325,68,6\n"1569",2020-01-07,21.33,175,69,6\n"1570",2020-01-25,20.59,478,70,6\n"1571",2020-01-29,19.93,451,71,6\n"1572",2020-01-13,21.54,218,72,6\n"1573",2020-01-11,21.21,364,73,6\n"1574",2020-01-23,21.05,308,74,6\n"1575",2020-01-16,20.81,207,75,6\n"1576",2020-01-17,21.32,90,76,6\n"1577",2020-01-07,20.75,210,77,6\n"1578",2020-01-10,20.29,275,78,6\n"1579",2020-01-18,21.29,155,79,6\n"1580",2020-01-31,21.67,353,80,6\n"1581",2020-01-26,20.43,152,81,6\n"1582",2020-01-05,21.82,356,82,6\n"1583",2020-01-15,22.13,397,83,6\n"1584",2020-01-09,22.44,211,84,6\n"1585",2020-01-02,20.81,798,85,6\n"1586",2020-01-24,20.62,469,86,6\n"1587",2020-01-30,22.37,172,87,6\n"1588",2020-01-23,20.48,341,88,6\n"1589",2020-01-01,21.94,331,89,6\n"1590",2020-01-25,21.63,250,90,6\n"1591",2020-01-16,21.11,102,91,6\n"1592",2020-01-21,21.15,265,92,6\n"1593",2020-01-20,21.74,211,93,6\n"1594",2020-01-30,22.25,350,94,6\n"1595",2020-01-07,20.32,299,95,6\n"1596",2020-01-16,21.23,246,96,6\n"1597",2020-01-06,20.69,315,97,6\n"1598",2020-01-05,21.61,243,98,6\n"1599",2020-01-19,21.16,195,99,6\n"1600",2020-01-15,22.07,192,100,6\n"1601",2020-01-25,19.76,212,1,7\n"1602",2020-01-31,21.1,412,2,7\n"1603",2020-01-02,21.1,281,3,7\n"1604",2020-01-04,21.46,269,4,7\n"1605",2020-01-14,20.57,227,5,7\n"1606",2020-01-27,21.03,341,6,7\n"1607",2020-01-31,21.1,343,7,7\n"1608",2020-01-21,20.11,278,8,7\n"1609",2020-01-19,19.45,165,9,7\n"1610",2020-01-07,20.25,591,10,7\n"1611",2020-01-21,21.47,956,11,7\n"1612",2020-01-12,20.57,150,12,7\n"1613",2020-01-04,21.4,251,13,7\n"1614",2020-01-15,21.25,263,14,7\n"1615",2020-01-27,20.6,301,15,7\n"1616",2020-01-06,20.11,463,16,7\n"1617",2020-01-18,20.23,219,17,7\n"1618",2020-01-31,21.13,266,18,7\n"1619",2020-01-02,20.08,336,19,7\n"1620",2020-01-28,21.93,418,20,7\n"1621",2020-01-03,19.93,302,21,7\n"1622",2020-01-12,21.5,202,22,7\n"1623",2020-01-13,20.79,293,23,7\n"1624",2020-01-27,21.85,322,24,7\n"1625",2020-01-15,20.85,528,25,7\n"1626",2020-01-28,21.14,214,26,7\n"1627",2020-01-23,20.6,346,27,7\n"1628",2020-01-14,20.82,211,28,7\n"1629",2020-01-15,20.62,217,29,7\n"1630",2020-01-13,21.39,264,30,7\n"1631",2020-01-07,20.8,182,31,7\n"1632",2020-01-29,20.63,395,32,7\n"1633",2020-01-21,21.25,274,33,7\n"1634",2020-01-03,21.19,387,34,7\n"1635",2020-01-15,21.99,263,35,7\n"1636",2020-01-18,19.63,429,36,7\n"1637",2020-01-29,20.81,208,37,7\n"1638",2020-01-13,20.53,957,38,7\n"1639",2020-01-01,21.54,284,39,7\n"1640",2020-01-01,20.65,280,40,7\n"1641",2020-01-12,21.79,521,41,7\n"1642",2020-01-31,21.6,201,42,7\n"1643",2020-01-08,20.7,175,43,7\n"1644",2020-01-09,20.05,210,44,7\n"1645",2020-01-11,21.83,193,45,7\n"1646",2020-01-09,20.89,124,46,7\n"1647",2020-01-12,21.66,128,47,7\n"1648",2020-01-24,21.9,167,48,7\n"1649",2020-01-16,20.82,301,49,7\n"1650",2020-01-05,21.22,386,50,7\n"1651",2020-01-29,22.02,251,51,7\n"1652",2020-01-14,20.58,171,52,7\n"1653",2020-01-12,20.27,365,53,7\n"1654",2020-01-04,19.63,136,54,7\n"1655",2020-01-20,21.63,413,55,7\n"1656",2020-01-12,22,233,56,7\n"1657",2020-01-18,20.88,187,57,7\n"1658",2020-01-02,21.04,343,58,7\n"1659",2020-01-30,20.93,192,59,7\n"1660",2020-01-18,20,261,60,7\n"1661",2020-01-31,20.99,168,61,7\n"1662",2020-01-25,20.29,422,62,7\n"1663",2020-01-11,20.18,248,63,7\n"1664",2020-01-31,22.17,297,64,7\n"1665",2020-01-24,21.32,423,65,7\n"1666",2020-01-20,22.33,146,66,7\n"1667",2020-01-20,20.79,252,67,7\n"1668",2020-01-13,20.81,299,68,7\n"1669",2020-01-07,21.91,233,69,7\n"1670",2020-01-25,21.21,182,70,7\n"1671",2020-01-29,20.71,352,71,7\n"1672",2020-01-13,19.77,607,72,7\n"1673",2020-01-11,20.73,400,73,7\n"1674",2020-01-23,21.18,230,74,7\n"1675",2020-01-16,20.84,184,75,7\n"1676",2020-01-17,21.42,276,76,7\n"1677",2020-01-07,21.04,172,77,7\n"1678",2020-01-10,20.82,266,78,7\n"1679",2020-01-18,19.55,169,79,7\n"1680",2020-01-31,20.6,137,80,7\n"1681",2020-01-26,20.11,346,81,7\n"1682",2020-01-05,19.62,134,82,7\n"1683",2020-01-15,21.56,291,83,7\n"1684",2020-01-09,20.71,199,84,7\n"1685",2020-01-02,20.72,209,85,7\n"1686",2020-01-24,21.71,313,86,7\n"1687",2020-01-30,20.96,255,87,7\n"1688",2020-01-23,21.24,403,88,7\n"1689",2020-01-01,20.98,376,89,7\n"1690",2020-01-25,20.62,222,90,7\n"1691",2020-01-16,19.64,108,91,7\n"1692",2020-01-21,20.28,754,92,7\n"1693",2020-01-20,19.65,253,93,7\n"1694",2020-01-30,20.43,248,94,7\n"1695",2020-01-07,20.75,386,95,7\n"1696",2020-01-16,20.4,201,96,7\n"1697",2020-01-06,20.5,87,97,7\n"1698",2020-01-05,20.93,221,98,7\n"1699",2020-01-19,21.17,229,99,7\n"1700",2020-01-15,19.69,457,100,7\n"1701",2020-01-25,22.07,224,1,8\n"1702",2020-01-31,19.87,140,2,8\n"1703",2020-01-02,21.2,154,3,8\n"1704",2020-01-04,20.81,298,4,8\n"1705",2020-01-14,21.78,741,5,8\n"1706",2020-01-27,22.42,172,6,8\n"1707",2020-01-31,20.79,215,7,8\n"1708",2020-01-21,19.91,318,8,8\n"1709",2020-01-19,20.01,228,9,8\n"1710",2020-01-07,21.16,369,10,8\n"1711",2020-01-21,21.1,206,11,8\n"1712",2020-01-12,19.99,286,12,8\n"1713",2020-01-04,20.56,342,13,8\n"1714",2020-01-15,21.08,158,14,8\n"1715",2020-01-27,19.69,388,15,8\n"1716",2020-01-06,20.59,1160,16,8\n"1717",2020-01-18,20.74,99,17,8\n"1718",2020-01-31,22.07,470,18,8\n"1719",2020-01-02,21.3,189,19,8\n"1720",2020-01-28,20.11,125,20,8\n"1721",2020-01-03,21.33,252,21,8\n"1722",2020-01-12,21.59,364,22,8\n"1723",2020-01-13,19.98,93,23,8\n"1724",2020-01-27,21.03,484,24,8\n"1725",2020-01-15,20.47,480,25,8\n"1726",2020-01-28,20.55,310,26,8\n"1727",2020-01-23,21.1,208,27,8\n"1728",2020-01-14,21.86,888,28,8\n"1729",2020-01-15,21.93,216,29,8\n"1730",2020-01-13,22,156,30,8\n"1731",2020-01-07,21.19,352,31,8\n"1732",2020-01-29,20.36,332,32,8\n"1733",2020-01-21,21.92,312,33,8\n"1734",2020-01-03,21.11,358,34,8\n"1735",2020-01-15,20.29,310,35,8\n"1736",2020-01-18,21.39,248,36,8\n"1737",2020-01-29,22.1,489,37,8\n"1738",2020-01-13,20.94,340,38,8\n"1739",2020-01-01,20.23,225,39,8\n"1740",2020-01-01,20.83,158,40,8\n"1741",2020-01-12,20.32,697,41,8\n"1742",2020-01-31,20.65,382,42,8\n"1743",2020-01-08,21.21,173,43,8\n"1744",2020-01-09,21.02,92,44,8\n"1745",2020-01-11,20.89,434,45,8\n"1746",2020-01-09,20.64,321,46,8\n"1747",2020-01-12,21.57,201,47,8\n"1748",2020-01-24,20.24,254,48,8\n"1749",2020-01-16,21,414,49,8\n"1750",2020-01-05,19.57,225,50,8\n"1751",2020-01-29,22.05,170,51,8\n"1752",2020-01-14,21.28,348,52,8\n"1753",2020-01-12,21.22,360,53,8\n"1754",2020-01-04,21.41,426,54,8\n"1755",2020-01-20,21.66,257,55,8\n"1756",2020-01-12,21.4,140,56,8\n"1757",2020-01-18,21.7,242,57,8\n"1758",2020-01-02,20.54,311,58,8\n"1759",2020-01-30,20.98,110,59,8\n"1760",2020-01-18,20.27,394,60,8\n"1761",2020-01-31,20.76,270,61,8\n"1762",2020-01-25,21.48,407,62,8\n"1763",2020-01-11,21.36,353,63,8\n"1764",2020-01-31,20.79,192,64,8\n"1765",2020-01-24,21.31,251,65,8\n"1766",2020-01-20,21.7,163,66,8\n"1767",2020-01-20,20.75,199,67,8\n"1768",2020-01-13,21.81,309,68,8\n"1769",2020-01-07,20.25,299,69,8\n"1770",2020-01-25,19.59,140,70,8\n"1771",2020-01-29,20.58,128,71,8\n"1772",2020-01-13,20.34,130,72,8\n"1773",2020-01-11,20.44,255,73,8\n"1774",2020-01-23,21.1,135,74,8\n"1775",2020-01-16,20.9,127,75,8\n"1776",2020-01-17,20.97,177,76,8\n"1777",2020-01-07,21.32,388,77,8\n"1778",2020-01-10,20.07,246,78,8\n"1779",2020-01-18,20.43,445,79,8\n"1780",2020-01-31,21.07,223,80,8\n"1781",2020-01-26,19.95,222,81,8\n"1782",2020-01-05,19.98,144,82,8\n"1783",2020-01-15,21.43,250,83,8\n"1784",2020-01-09,21.9,367,84,8\n"1785",2020-01-02,19.81,183,85,8\n"1786",2020-01-24,21.89,281,86,8\n"1787",2020-01-30,21.07,184,87,8\n"1788",2020-01-23,20.98,162,88,8\n"1789",2020-01-01,21.57,463,89,8\n"1790",2020-01-25,20.79,290,90,8\n"1791",2020-01-16,20.7,354,91,8\n"1792",2020-01-21,21.51,282,92,8\n"1793",2020-01-20,20.08,635,93,8\n"1794",2020-01-30,21,279,94,8\n"1795",2020-01-07,21.26,126,95,8\n"1796",2020-01-16,21.13,379,96,8\n"1797",2020-01-06,20.1,561,97,8\n"1798",2020-01-05,20.33,112,98,8\n"1799",2020-01-19,19.77,259,99,8\n"1800",2020-01-15,20.01,160,100,8\n"1801",2020-01-25,22.3,245,1,9\n"1802",2020-01-31,21.72,212,2,9\n"1803",2020-01-02,20.95,425,3,9\n"1804",2020-01-04,21.08,203,4,9\n"1805",2020-01-14,20.86,616,5,9\n"1806",2020-01-27,20.73,291,6,9\n"1807",2020-01-31,20.35,370,7,9\n"1808",2020-01-21,20.79,246,8,9\n"1809",2020-01-19,21.75,312,9,9\n"1810",2020-01-07,20.69,222,10,9\n"1811",2020-01-21,22.36,429,11,9\n"1812",2020-01-12,21.58,217,12,9\n"1813",2020-01-04,20.66,264,13,9\n"1814",2020-01-15,19.78,246,14,9\n"1815",2020-01-27,20.91,193,15,9\n"1816",2020-01-06,20.43,275,16,9\n"1817",2020-01-18,21.33,331,17,9\n"1818",2020-01-31,20.8,269,18,9\n"1819",2020-01-02,21.59,343,19,9\n"1820",2020-01-28,21.09,268,20,9\n"1821",2020-01-03,20.13,409,21,9\n"1822",2020-01-12,21.81,225,22,9\n"1823",2020-01-13,19.63,132,23,9\n"1824",2020-01-27,20.75,365,24,9\n"1825",2020-01-15,21.84,278,25,9\n"1826",2020-01-28,20.72,568,26,9\n"1827",2020-01-23,21.55,192,27,9\n"1828",2020-01-14,20.85,305,28,9\n"1829",2020-01-15,21.67,308,29,9\n"1830",2020-01-13,21.44,216,30,9\n"1831",2020-01-07,21.7,772,31,9\n"1832",2020-01-29,18.99,387,32,9\n"1833",2020-01-21,19.81,216,33,9\n"1834",2020-01-03,20.61,125,34,9\n"1835",2020-01-15,21.47,136,35,9\n"1836",2020-01-18,21.63,376,36,9\n"1837",2020-01-29,21.23,91,37,9\n"1838",2020-01-13,20.46,333,38,9\n"1839",2020-01-01,20.75,353,39,9\n"1840",2020-01-01,21.82,239,40,9\n"1841",2020-01-12,20.73,251,41,9\n"1842",2020-01-31,21.18,147,42,9\n"1843",2020-01-08,21.22,64,43,9\n"1844",2020-01-09,21.78,244,44,9\n"1845",2020-01-11,21.14,124,45,9\n"1846",2020-01-09,19.32,454,46,9\n"1847",2020-01-12,20.42,665,47,9\n"1848",2020-01-24,20.88,362,48,9\n"1849",2020-01-16,20.41,185,49,9\n"1850",2020-01-05,21.09,148,50,9\n"1851",2020-01-29,21.15,478,51,9\n"1852",2020-01-14,20.88,192,52,9\n"1853",2020-01-12,20.52,263,53,9\n"1854",2020-01-04,21.42,247,54,9\n"1855",2020-01-20,20.15,366,55,9\n"1856",2020-01-12,21.9,353,56,9\n"1857",2020-01-18,21.94,268,57,9\n"1858",2020-01-02,20.72,585,58,9\n"1859",2020-01-30,20.34,197,59,9\n"1860",2020-01-18,20.97,208,60,9\n"1861",2020-01-31,19.88,294,61,9\n"1862",2020-01-25,22.14,224,62,9\n"1863",2020-01-11,20.24,132,63,9\n"1864",2020-01-31,21.24,424,64,9\n"1865",2020-01-24,20.46,177,65,9\n"1866",2020-01-20,19.14,299,66,9\n"1867",2020-01-20,21.41,163,67,9\n"1868",2020-01-13,21.43,457,68,9\n"1869",2020-01-07,20.44,381,69,9\n"1870",2020-01-25,20.56,314,70,9\n"1871",2020-01-29,20.19,178,71,9\n"1872",2020-01-13,21.6,354,72,9\n"1873",2020-01-11,20.86,313,73,9\n"1874",2020-01-23,22.61,244,74,9\n"1875",2020-01-16,20.55,243,75,9\n"1876",2020-01-17,20.04,194,76,9\n"1877",2020-01-07,20.08,113,77,9\n"1878",2020-01-10,20.87,190,78,9\n"1879",2020-01-18,21.25,161,79,9\n"1880",2020-01-31,20.06,276,80,9\n"1881",2020-01-26,19,253,81,9\n"1882",2020-01-05,21.28,173,82,9\n"1883",2020-01-15,22.12,152,83,9\n"1884",2020-01-09,21.4,344,84,9\n"1885",2020-01-02,20.86,389,85,9\n"1886",2020-01-24,19.85,220,86,9\n"1887",2020-01-30,21.88,192,87,9\n"1888",2020-01-23,19.65,430,88,9\n"1889",2020-01-01,20.08,239,89,9\n"1890",2020-01-25,22.67,198,90,9\n"1891",2020-01-16,21.72,195,91,9\n"1892",2020-01-21,20.78,154,92,9\n"1893",2020-01-20,21.12,361,93,9\n"1894",2020-01-30,21.45,404,94,9\n"1895",2020-01-07,19.88,192,95,9\n"1896",2020-01-16,19.9,377,96,9\n"1897",2020-01-06,22.18,408,97,9\n"1898",2020-01-05,19.86,130,98,9\n"1899",2020-01-19,20.98,416,99,9\n"1900",2020-01-15,20.84,198,100,9\n"1901",2020-01-25,20.59,142,1,10\n"1902",2020-01-31,20.18,150,2,10\n"1903",2020-01-02,19.69,267,3,10\n"1904",2020-01-04,21.07,284,4,10\n"1905",2020-01-14,21.14,132,5,10\n"1906",2020-01-27,20.54,250,6,10\n"1907",2020-01-31,20.82,327,7,10\n"1908",2020-01-21,20.15,213,8,10\n"1909",2020-01-19,20.9,355,9,10\n"1910",2020-01-07,20.38,267,10,10\n"1911",2020-01-21,21.83,366,11,10\n"1912",2020-01-12,21.99,103,12,10\n"1913",2020-01-04,20.96,243,13,10\n"1914",2020-01-15,20.57,656,14,10\n"1915",2020-01-27,19.38,125,15,10\n"1916",2020-01-06,21.1,392,16,10\n"1917",2020-01-18,21.06,208,17,10\n"1918",2020-01-31,21.14,528,18,10\n"1919",2020-01-02,20.63,192,19,10\n"1920",2020-01-28,20.74,296,20,10\n"1921",2020-01-03,21.24,132,21,10\n"1922",2020-01-12,22.37,354,22,10\n"1923",2020-01-13,20.8,158,23,10\n"1924",2020-01-27,20.45,599,24,10\n"1925",2020-01-15,22.73,498,25,10\n"1926",2020-01-28,21.33,171,26,10\n"1927",2020-01-23,20.08,327,27,10\n"1928",2020-01-14,20.13,383,28,10\n"1929",2020-01-15,19.59,136,29,10\n"1930",2020-01-13,21.69,328,30,10\n"1931",2020-01-07,21.61,261,31,10\n"1932",2020-01-29,20.77,326,32,10\n"1933",2020-01-21,22.34,243,33,10\n"1934",2020-01-03,21.31,202,34,10\n"1935",2020-01-15,21.07,111,35,10\n"1936",2020-01-18,20.03,117,36,10\n"1937",2020-01-29,20.97,532,37,10\n"1938",2020-01-13,21.17,245,38,10\n"1939",2020-01-01,20.51,216,39,10\n"1940",2020-01-01,20.82,362,40,10\n"1941",2020-01-12,21.24,281,41,10\n"1942",2020-01-31,20.89,423,42,10\n"1943",2020-01-08,19.75,339,43,10\n"1944",2020-01-09,19.71,185,44,10\n"1945",2020-01-11,21.46,250,45,10\n"1946",2020-01-09,20.61,286,46,10\n"1947",2020-01-12,20.37,251,47,10\n"1948",2020-01-24,20.04,114,48,10\n"1949",2020-01-16,21.83,253,49,10\n"1950",2020-01-05,21.38,549,50,10\n"1951",2020-01-29,21.57,199,51,10\n"1952",2020-01-14,20.6,126,52,10\n"1953",2020-01-12,19.74,341,53,10\n"1954",2020-01-04,20.01,332,54,10\n"1955",2020-01-20,20.8,275,55,10\n"1956",2020-01-12,19.34,407,56,10\n"1957",2020-01-18,20.48,198,57,10\n"1958",2020-01-02,20.53,152,58,10\n"1959",2020-01-30,21.22,258,59,10\n"1960",2020-01-18,20.71,132,60,10\n"1961",2020-01-31,21.31,161,61,10\n"1962",2020-01-25,21.05,322,62,10\n"1963",2020-01-11,21.08,129,63,10\n"1964",2020-01-31,21.32,160,64,10\n"1965",2020-01-24,19.73,373,65,10\n"1966",2020-01-20,21.24,133,66,10\n"1967",2020-01-20,21.6,288,67,10\n"1968",2020-01-13,20.04,191,68,10\n"1969",2020-01-07,20.84,338,69,10\n"1970",2020-01-25,21.81,186,70,10\n"1971",2020-01-29,20.12,159,71,10\n"1972",2020-01-13,20.19,158,72,10\n"1973",2020-01-11,21.11,211,73,10\n"1974",2020-01-23,20.26,389,74,10\n"1975",2020-01-16,20.22,284,75,10\n"1976",2020-01-17,20.45,261,76,10\n"1977",2020-01-07,21.09,473,77,10\n"1978",2020-01-10,19.46,329,78,10\n"1979",2020-01-18,20.99,218,79,10\n"1980",2020-01-31,21.06,393,80,10\n"1981",2020-01-26,20.92,296,81,10\n"1982",2020-01-05,20.65,259,82,10\n"1983",2020-01-15,21.19,361,83,10\n"1984",2020-01-09,20.81,212,84,10\n"1985",2020-01-02,21.32,436,85,10\n"1986",2020-01-24,20.37,159,86,10\n"1987",2020-01-30,21.82,304,87,10\n"1988",2020-01-23,22.79,377,88,10\n"1989",2020-01-01,20.6,237,89,10\n"1990",2020-01-25,20.82,575,90,10\n"1991",2020-01-16,21.07,382,91,10\n"1992",2020-01-21,21.27,349,92,10\n"1993",2020-01-20,19.62,156,93,10\n"1994",2020-01-30,21.38,204,94,10\n"1995",2020-01-07,21.16,463,95,10\n"1996",2020-01-16,21.64,443,96,10\n"1997",2020-01-06,21.7,523,97,10\n"1998",2020-01-05,22.33,306,98,10\n"1999",2020-01-19,19.73,88,99,10\n"2000",2020-01-15,20.77,152,100,10\n"2001",2020-02-23,20.17,386,1,1\n"2002",2020-02-22,20.84,199,2,1\n"2003",2020-02-24,20.69,561,3,1\n"2004",2020-02-26,20.32,718,4,1\n"2005",2020-02-14,19.32,287,5,1\n"2006",2020-02-16,20.31,1148,6,1\n"2007",2020-02-29,20.27,190,7,1\n"2008",2020-02-14,20.6,308,8,1\n"2009",2020-02-24,21.14,648,9,1\n"2010",2020-02-28,21.08,967,10,1\n"2011",2020-02-28,20.78,389,11,1\n"2012",2020-02-06,20.95,199,12,1\n"2013",2020-02-03,20.66,542,13,1\n"2014",2020-02-28,20.55,1327,14,1\n"2015",2020-02-26,19.86,299,15,1\n"2016",2020-02-02,20.19,192,16,1\n"2017",2020-02-23,19.9,603,17,1\n"2018",2020-02-25,21.11,165,18,1\n"2019",2020-02-29,20.53,354,19,1\n"2020",2020-02-19,20.41,398,20,1\n"2021",2020-02-24,21.44,362,21,1\n"2022",2020-02-04,20.38,228,22,1\n"2023",2020-02-22,19.76,256,23,1\n"2024",2020-02-22,20.57,175,24,1\n"2025",2020-02-27,20.79,198,25,1\n"2026",2020-02-17,20.72,266,26,1\n"2027",2020-02-25,20.5,298,27,1\n"2028",2020-02-27,20.09,485,28,1\n"2029",2020-02-09,20.14,326,29,1\n"2030",2020-02-11,20.5,280,30,1\n"2031",2020-02-22,20.85,442,31,1\n"2032",2020-02-04,19.24,195,32,1\n"2033",2020-02-09,19.27,314,33,1\n"2034",2020-02-01,19.46,405,34,1\n"2035",2020-02-20,20.79,236,35,1\n"2036",2020-02-03,20.9,1231,36,1\n"2037",2020-02-16,20.21,730,37,1\n"2038",2020-02-18,21.4,773,38,1\n"2039",2020-02-16,19.49,244,39,1\n"2040",2020-02-01,20.81,181,40,1\n"2041",2020-02-17,19.98,774,41,1\n"2042",2020-02-13,21.75,296,42,1\n"2043",2020-02-27,21.19,486,43,1\n"2044",2020-02-24,21.02,303,44,1\n"2045",2020-02-23,20.1,286,45,1\n"2046",2020-02-05,21.32,138,46,1\n"2047",2020-02-16,21.22,502,47,1\n"2048",2020-02-28,21.85,390,48,1\n"2049",2020-02-07,19.9,950,49,1\n"2050",2020-02-02,20.79,228,50,1\n"2051",2020-02-19,19.6,432,51,1\n"2052",2020-02-20,20.51,576,52,1\n"2053",2020-02-24,19.97,219,53,1\n"2054",2020-02-05,20.7,371,54,1\n"2055",2020-02-16,20.22,989,55,1\n"2056",2020-02-08,21.11,381,56,1\n"2057",2020-02-22,20.79,437,57,1\n"2058",2020-02-17,19.91,384,58,1\n"2059",2020-02-19,20.82,496,59,1\n"2060",2020-02-06,20.89,502,60,1\n"2061",2020-02-20,21.12,262,61,1\n"2062",2020-02-07,19.8,345,62,1\n"2063",2020-02-16,21.59,264,63,1\n"2064",2020-02-08,20.18,429,64,1\n"2065",2020-02-22,20.08,382,65,1\n"2066",2020-02-28,20.4,489,66,1\n"2067",2020-02-17,20.39,372,67,1\n"2068",2020-02-04,20.43,405,68,1\n"2069",2020-02-17,21.38,285,69,1\n"2070",2020-02-29,21.27,675,70,1\n"2071",2020-02-20,20.17,355,71,1\n"2072",2020-02-27,21.05,154,72,1\n"2073",2020-02-18,20.63,201,73,1\n"2074",2020-02-12,21.32,322,74,1\n"2075",2020-02-19,19.93,247,75,1\n"2076",2020-02-14,18.41,1009,76,1\n"2077",2020-02-10,20.06,246,77,1\n"2078",2020-02-18,19.79,887,78,1\n"2079",2020-02-16,21.06,433,79,1\n"2080",2020-02-27,20.76,281,80,1\n"2081",2020-02-20,21.72,411,81,1\n"2082",2020-02-10,20.01,312,82,1\n"2083",2020-02-17,21.61,582,83,1\n"2084",2020-02-22,20.86,819,84,1\n"2085",2020-02-17,20.47,515,85,1\n"2086",2020-02-26,20.69,606,86,1\n"2087",2020-02-20,20.07,348,87,1\n"2088",2020-02-21,20.73,1261,88,1\n"2089",2020-02-16,19.74,259,89,1\n"2090",2020-02-23,21.25,1033,90,1\n"2091",2020-02-15,19.52,403,91,1\n"2092",2020-02-09,21.27,397,92,1\n"2093",2020-02-04,19.78,403,93,1\n"2094",2020-02-09,20.3,264,94,1\n"2095",2020-02-23,20.4,473,95,1\n"2096",2020-02-06,20.42,201,96,1\n"2097",2020-02-12,20.88,184,97,1\n"2098",2020-02-15,19.37,406,98,1\n"2099",2020-02-04,20.79,851,99,1\n"2100",2020-02-27,20.94,424,100,1\n"2101",2020-02-23,21.58,1049,1,2\n"2102",2020-02-22,20.09,349,2,2\n"2103",2020-02-24,20.09,721,3,2\n"2104",2020-02-26,20.05,276,4,2\n"2105",2020-02-14,20.45,870,5,2\n"2106",2020-02-16,20.33,1064,6,2\n"2107",2020-02-29,19.93,338,7,2\n"2108",2020-02-14,20.67,517,8,2\n"2109",2020-02-24,20.63,451,9,2\n"2110",2020-02-28,20.83,1073,10,2\n"2111",2020-02-28,20.87,182,11,2\n"2112",2020-02-06,21.06,342,12,2\n"2113",2020-02-03,21.19,208,13,2\n"2114",2020-02-28,21.03,125,14,2\n"2115",2020-02-26,20.98,689,15,2\n"2116",2020-02-02,20.34,496,16,2\n"2117",2020-02-23,20.33,253,17,2\n"2118",2020-02-25,20.37,1020,18,2\n"2119",2020-02-29,20.44,136,19,2\n"2120",2020-02-19,20.44,302,20,2\n"2121",2020-02-24,21.67,280,21,2\n"2122",2020-02-04,21.28,593,22,2\n"2123",2020-02-22,20.72,746,23,2\n"2124",2020-02-22,20.39,161,24,2\n"2125",2020-02-27,21.07,286,25,2\n"2126",2020-02-17,20.16,247,26,2\n"2127",2020-02-25,20.83,427,27,2\n"2128",2020-02-27,21.03,417,28,2\n"2129",2020-02-09,21.02,258,29,2\n"2130",2020-02-11,20.67,144,30,2\n"2131",2020-02-22,21.46,306,31,2\n"2132",2020-02-04,20.35,330,32,2\n"2133",2020-02-09,19.67,550,33,2\n"2134",2020-02-01,19.56,425,34,2\n"2135",2020-02-20,20.3,286,35,2\n"2136",2020-02-03,20.62,364,36,2\n"2137",2020-02-16,19.44,297,37,2\n"2138",2020-02-18,20.34,210,38,2\n"2139",2020-02-16,21.81,260,39,2\n"2140",2020-02-01,20.72,442,40,2\n"2141",2020-02-17,20.82,240,41,2\n"2142",2020-02-13,20.92,671,42,2\n"2143",2020-02-27,20.56,220,43,2\n"2144",2020-02-24,20.47,337,44,2\n"2145",2020-02-23,20.05,329,45,2\n"2146",2020-02-05,20.53,219,46,2\n"2147",2020-02-16,20.22,256,47,2\n"2148",2020-02-28,21.08,397,48,2\n"2149",2020-02-07,21.25,392,49,2\n"2150",2020-02-02,20.99,616,50,2\n"2151",2020-02-19,20.46,328,51,2\n"2152",2020-02-20,20.53,279,52,2\n"2153",2020-02-24,20.97,294,53,2\n"2154",2020-02-05,20.14,217,54,2\n"2155",2020-02-16,20.11,176,55,2\n"2156",2020-02-08,20.5,567,56,2\n"2157",2020-02-22,21.3,477,57,2\n"2158",2020-02-17,21.74,718,58,2\n"2159",2020-02-19,21.63,277,59,2\n"2160",2020-02-06,20.2,379,60,2\n"2161",2020-02-20,20.24,795,61,2\n"2162",2020-02-07,20.3,470,62,2\n"2163",2020-02-16,20.82,413,63,2\n"2164",2020-02-08,20.55,219,64,2\n"2165",2020-02-22,19.91,535,65,2\n"2166",2020-02-28,20.42,339,66,2\n"2167",2020-02-17,19.92,433,67,2\n"2168",2020-02-04,20.85,244,68,2\n"2169",2020-02-17,20.19,439,69,2\n"2170",2020-02-29,20.49,459,70,2\n"2171",2020-02-20,21.46,221,71,2\n"2172",2020-02-27,20.76,1116,72,2\n"2173",2020-02-18,20.08,451,73,2\n"2174",2020-02-12,20.71,160,74,2\n"2175",2020-02-19,20.91,623,75,2\n"2176",2020-02-14,20.77,475,76,2\n"2177",2020-02-10,20.18,476,77,2\n"2178",2020-02-18,20.18,724,78,2\n"2179",2020-02-16,20.77,150,79,2\n"2180",2020-02-27,20.65,391,80,2\n"2181",2020-02-20,20.44,382,81,2\n"2182",2020-02-10,20.39,246,82,2\n"2183",2020-02-17,20.25,522,83,2\n"2184",2020-02-22,20.42,727,84,2\n"2185",2020-02-17,20.53,292,85,2\n"2186",2020-02-26,19.88,796,86,2\n"2187",2020-02-20,19.97,760,87,2\n"2188",2020-02-21,21.27,442,88,2\n"2189",2020-02-16,20.47,683,89,2\n"2190",2020-02-23,20.26,266,90,2\n"2191",2020-02-15,20.38,352,91,2\n"2192",2020-02-09,20.86,601,92,2\n"2193",2020-02-04,21.09,464,93,2\n"2194",2020-02-09,19.88,326,94,2\n"2195",2020-02-23,20.81,252,95,2\n"2196",2020-02-06,19.57,376,96,2\n"2197",2020-02-12,21.23,364,97,2\n"2198",2020-02-15,21,1073,98,2\n"2199",2020-02-04,20.45,345,99,2\n"2200",2020-02-27,21.3,251,100,2\n"2201",2020-02-23,20.44,498,1,3\n"2202",2020-02-22,20.96,326,2,3\n"2203",2020-02-24,20.6,295,3,3\n"2204",2020-02-26,21.47,608,4,3\n"2205",2020-02-14,20.3,428,5,3\n"2206",2020-02-16,20.79,150,6,3\n"2207",2020-02-29,20.17,238,7,3\n"2208",2020-02-14,20.11,377,8,3\n"2209",2020-02-24,21.05,461,9,3\n"2210",2020-02-28,20.46,233,10,3\n"2211",2020-02-28,20.56,316,11,3\n"2212",2020-02-06,19,440,12,3\n"2213",2020-02-03,19.9,308,13,3\n"2214",2020-02-28,22.05,358,14,3\n"2215",2020-02-26,20.48,401,15,3\n"2216",2020-02-02,21.82,272,16,3\n"2217",2020-02-23,20.68,544,17,3\n"2218",2020-02-25,21.6,582,18,3\n"2219",2020-02-29,20.41,434,19,3\n"2220",2020-02-19,20.66,426,20,3\n"2221",2020-02-24,20.23,158,21,3\n"2222",2020-02-04,19.79,426,22,3\n"2223",2020-02-22,19.64,165,23,3\n"2224",2020-02-22,20.32,247,24,3\n"2225",2020-02-27,20.8,731,25,3\n"2226",2020-02-17,20.61,698,26,3\n"2227",2020-02-25,21.62,337,27,3\n"2228",2020-02-27,19.65,174,28,3\n"2229",2020-02-09,20.62,739,29,3\n"2230",2020-02-11,19.88,450,30,3\n"2231",2020-02-22,20.51,353,31,3\n"2232",2020-02-04,20.98,314,32,3\n"2233",2020-02-09,21.2,334,33,3\n"2234",2020-02-01,21.05,170,34,3\n"2235",2020-02-20,20.95,346,35,3\n"2236",2020-02-03,20.43,111,36,3\n"2237",2020-02-16,21.14,863,37,3\n"2238",2020-02-18,19.21,193,38,3\n"2239",2020-02-16,20.11,421,39,3\n"2240",2020-02-01,19.1,579,40,3\n"2241",2020-02-17,21.22,567,41,3\n"2242",2020-02-13,20.81,387,42,3\n"2243",2020-02-27,20.72,597,43,3\n"2244",2020-02-24,20.74,227,44,3\n"2245",2020-02-23,20.7,269,45,3\n"2246",2020-02-05,20.8,423,46,3\n"2247",2020-02-16,20.57,238,47,3\n"2248",2020-02-28,20.48,264,48,3\n"2249",2020-02-07,19.95,806,49,3\n"2250",2020-02-02,20.36,269,50,3\n"2251",2020-02-19,20.23,376,51,3\n"2252",2020-02-20,21.02,554,52,3\n"2253",2020-02-24,20.68,272,53,3\n"2254",2020-02-05,20.07,360,54,3\n"2255",2020-02-16,20.36,246,55,3\n"2256",2020-02-08,21.68,237,56,3\n"2257",2020-02-22,20.74,326,57,3\n"2258",2020-02-17,20.68,294,58,3\n"2259",2020-02-19,20.34,143,59,3\n"2260",2020-02-06,19.77,490,60,3\n"2261",2020-02-20,20.44,224,61,3\n"2262",2020-02-07,19.71,414,62,3\n"2263",2020-02-16,19.52,317,63,3\n"2264",2020-02-08,20.54,282,64,3\n"2265",2020-02-22,21.04,531,65,3\n"2266",2020-02-28,20.18,729,66,3\n"2267",2020-02-17,21.51,414,67,3\n"2268",2020-02-04,20.13,274,68,3\n"2269",2020-02-17,20.71,143,69,3\n"2270",2020-02-29,19.9,592,70,3\n"2271",2020-02-20,20.13,577,71,3\n"2272",2020-02-27,20.1,639,72,3\n"2273",2020-02-18,20.19,104,73,3\n"2274",2020-02-12,21.25,181,74,3\n"2275",2020-02-19,21.33,1453,75,3\n"2276",2020-02-14,20.16,292,76,3\n"2277",2020-02-10,19.63,276,77,3\n"2278",2020-02-18,21.49,650,78,3\n"2279",2020-02-16,20.43,397,79,3\n"2280",2020-02-27,19.9,219,80,3\n"2281",2020-02-20,19.75,404,81,3\n"2282",2020-02-10,20.48,580,82,3\n"2283",2020-02-17,20.79,634,83,3\n"2284",2020-02-22,21.26,385,84,3\n"2285",2020-02-17,21.29,498,85,3\n"2286",2020-02-26,20.67,408,86,3\n"2287",2020-02-20,19.74,574,87,3\n"2288",2020-02-21,20.96,458,88,3\n"2289",2020-02-16,20.16,104,89,3\n"2290",2020-02-23,21.21,316,90,3\n"2291",2020-02-15,20.7,425,91,3\n"2292",2020-02-09,20.12,418,92,3\n"2293",2020-02-04,21.05,449,93,3\n"2294",2020-02-09,20.52,702,94,3\n"2295",2020-02-23,19.81,129,95,3\n"2296",2020-02-06,21.12,758,96,3\n"2297",2020-02-12,20.67,443,97,3\n"2298",2020-02-15,19.54,339,98,3\n"2299",2020-02-04,21.88,230,99,3\n"2300",2020-02-27,20.66,316,100,3\n"2301",2020-02-23,19.59,390,1,4\n"2302",2020-02-22,19.93,327,2,4\n"2303",2020-02-24,20.65,1009,3,4\n"2304",2020-02-26,20.66,165,4,4\n"2305",2020-02-14,20.48,230,5,4\n"2306",2020-02-16,19.52,687,6,4\n"2307",2020-02-29,20.69,656,7,4\n"2308",2020-02-14,21.26,677,8,4\n"2309",2020-02-24,19.83,321,9,4\n"2310",2020-02-28,19.31,204,10,4\n"2311",2020-02-28,20.51,1208,11,4\n"2312",2020-02-06,21.16,285,12,4\n"2313",2020-02-03,19.58,300,13,4\n"2314",2020-02-28,19.95,143,14,4\n"2315",2020-02-26,21.78,542,15,4\n"2316",2020-02-02,21.37,592,16,4\n"2317",2020-02-23,21,230,17,4\n"2318",2020-02-25,21.27,149,18,4\n"2319",2020-02-29,21.02,320,19,4\n"2320",2020-02-19,20.18,365,20,4\n"2321",2020-02-24,20.6,552,21,4\n"2322",2020-02-04,20.28,352,22,4\n"2323",2020-02-22,21.07,207,23,4\n"2324",2020-02-22,19.7,463,24,4\n"2325",2020-02-27,19.92,429,25,4\n"2326",2020-02-17,20.98,273,26,4\n"2327",2020-02-25,20.53,433,27,4\n"2328",2020-02-27,19.12,531,28,4\n"2329",2020-02-09,20.64,466,29,4\n"2330",2020-02-11,20.68,358,30,4\n"2331",2020-02-22,21.54,318,31,4\n"2332",2020-02-04,20.39,248,32,4\n"2333",2020-02-09,20.51,225,33,4\n"2334",2020-02-01,20.93,637,34,4\n"2335",2020-02-20,20.76,526,35,4\n"2336",2020-02-03,21.36,296,36,4\n"2337",2020-02-16,21.26,569,37,4\n"2338",2020-02-18,20.24,547,38,4\n"2339",2020-02-16,20.26,289,39,4\n"2340",2020-02-01,20.13,865,40,4\n"2341",2020-02-17,20.61,599,41,4\n"2342",2020-02-13,20.17,227,42,4\n"2343",2020-02-27,20.08,436,43,4\n"2344",2020-02-24,20.38,198,44,4\n"2345",2020-02-23,20.21,498,45,4\n"2346",2020-02-05,20.75,116,46,4\n"2347",2020-02-16,19.57,262,47,4\n"2348",2020-02-28,21.05,245,48,4\n"2349",2020-02-07,20.88,358,49,4\n"2350",2020-02-02,20.9,273,50,4\n"2351",2020-02-19,20.88,230,51,4\n"2352",2020-02-20,19.89,354,52,4\n"2353",2020-02-24,19.6,360,53,4\n"2354",2020-02-05,20.22,348,54,4\n"2355",2020-02-16,21.64,153,55,4\n"2356",2020-02-08,21.36,285,56,4\n"2357",2020-02-22,20.68,1137,57,4\n"2358",2020-02-17,20.11,625,58,4\n"2359",2020-02-19,20.22,584,59,4\n"2360",2020-02-06,19.77,283,60,4\n"2361",2020-02-20,21.18,102,61,4\n"2362",2020-02-07,20.87,437,62,4\n"2363",2020-02-16,20.4,352,63,4\n"2364",2020-02-08,21.25,474,64,4\n"2365",2020-02-22,20.53,500,65,4\n"2366",2020-02-28,19.29,231,66,4\n"2367",2020-02-17,21.09,79,67,4\n"2368",2020-02-04,20.63,507,68,4\n"2369",2020-02-17,20.42,447,69,4\n"2370",2020-02-29,20.66,295,70,4\n"2371",2020-02-20,20.75,388,71,4\n"2372",2020-02-27,21.02,370,72,4\n"2373",2020-02-18,21.97,221,73,4\n"2374",2020-02-12,20.32,447,74,4\n"2375",2020-02-19,20.74,148,75,4\n"2376",2020-02-14,20.27,601,76,4\n"2377",2020-02-10,20.54,214,77,4\n"2378",2020-02-18,20.37,451,78,4\n"2379",2020-02-16,20.01,375,79,4\n"2380",2020-02-27,20.93,315,80,4\n"2381",2020-02-20,20.22,225,81,4\n"2382",2020-02-10,20.08,822,82,4\n"2383",2020-02-17,21.07,311,83,4\n"2384",2020-02-22,22.06,565,84,4\n"2385",2020-02-17,20.6,343,85,4\n"2386",2020-02-26,21.49,167,86,4\n"2387",2020-02-20,21.14,666,87,4\n"2388",2020-02-21,20.56,463,88,4\n"2389",2020-02-16,20.52,368,89,4\n"2390",2020-02-23,19.93,532,90,4\n"2391",2020-02-15,21.56,519,91,4\n"2392",2020-02-09,20.58,129,92,4\n"2393",2020-02-04,20.46,432,93,4\n"2394",2020-02-09,19.63,384,94,4\n"2395",2020-02-23,19.81,179,95,4\n"2396",2020-02-06,20.59,441,96,4\n"2397",2020-02-12,20.69,731,97,4\n"2398",2020-02-15,19.54,270,98,4\n"2399",2020-02-04,20.34,190,99,4\n"2400",2020-02-27,21.3,353,100,4\n"2401",2020-02-23,19.49,566,1,5\n"2402",2020-02-22,19.74,286,2,5\n"2403",2020-02-24,20.24,481,3,5\n"2404",2020-02-26,20.59,189,4,5\n"2405",2020-02-14,20.33,375,5,5\n"2406",2020-02-16,20.49,500,6,5\n"2407",2020-02-29,19.72,187,7,5\n"2408",2020-02-14,19.59,532,8,5\n"2409",2020-02-24,21.16,659,9,5\n"2410",2020-02-28,21.3,154,10,5\n"2411",2020-02-28,20.05,555,11,5\n"2412",2020-02-06,20.5,400,12,5\n"2413",2020-02-03,19.66,650,13,5\n"2414",2020-02-28,19.83,667,14,5\n"2415",2020-02-26,20.31,176,15,5\n"2416",2020-02-02,20.67,197,16,5\n"2417",2020-02-23,20.8,333,17,5\n"2418",2020-02-25,20.6,606,18,5\n"2419",2020-02-29,20.11,351,19,5\n"2420",2020-02-19,20.99,585,20,5\n"2421",2020-02-24,20.35,295,21,5\n"2422",2020-02-04,21.55,750,22,5\n"2423",2020-02-22,21.84,278,23,5\n"2424",2020-02-22,20.04,138,24,5\n"2425",2020-02-27,20.58,602,25,5\n"2426",2020-02-17,19.64,401,26,5\n"2427",2020-02-25,19.85,497,27,5\n"2428",2020-02-27,20,298,28,5\n"2429",2020-02-09,20.09,250,29,5\n"2430",2020-02-11,21.21,661,30,5\n"2431",2020-02-22,20.13,437,31,5\n"2432",2020-02-04,20.44,453,32,5\n"2433",2020-02-09,19.33,247,33,5\n"2434",2020-02-01,19.75,178,34,5\n"2435",2020-02-20,21.08,961,35,5\n"2436",2020-02-03,20.11,274,36,5\n"2437",2020-02-16,21.36,585,37,5\n"2438",2020-02-18,20.44,444,38,5\n"2439",2020-02-16,19.61,499,39,5\n"2440",2020-02-01,20.74,487,40,5\n"2441",2020-02-17,21.2,217,41,5\n"2442",2020-02-13,19.84,198,42,5\n"2443",2020-02-27,19.33,770,43,5\n"2444",2020-02-24,21.21,260,44,5\n"2445",2020-02-23,20.72,187,45,5\n"2446",2020-02-05,20.21,182,46,5\n"2447",2020-02-16,20.04,345,47,5\n"2448",2020-02-28,20.46,410,48,5\n"2449",2020-02-07,20.62,199,49,5\n"2450",2020-02-02,20.04,682,50,5\n"2451",2020-02-19,20.67,543,51,5\n"2452",2020-02-20,20.3,126,52,5\n"2453",2020-02-24,19.43,1127,53,5\n"2454",2020-02-05,19.55,1075,54,5\n"2455",2020-02-16,20.9,405,55,5\n"2456",2020-02-08,20.32,151,56,5\n"2457",2020-02-22,20.57,619,57,5\n"2458",2020-02-17,21.29,458,58,5\n"2459",2020-02-19,20.28,386,59,5\n"2460",2020-02-06,20.42,765,60,5\n"2461",2020-02-20,20.18,133,61,5\n"2462",2020-02-07,20.82,438,62,5\n"2463",2020-02-16,21.27,242,63,5\n"2464",2020-02-08,19.86,399,64,5\n"2465",2020-02-22,19.99,517,65,5\n"2466",2020-02-28,21.28,209,66,5\n"2467",2020-02-17,20.05,273,67,5\n"2468",2020-02-04,19.23,358,68,5\n"2469",2020-02-17,19.97,428,69,5\n"2470",2020-02-29,19.42,1491,70,5\n"2471",2020-02-20,19.99,149,71,5\n"2472",2020-02-27,20.42,183,72,5\n"2473",2020-02-18,20.66,218,73,5\n"2474",2020-02-12,20.09,237,74,5\n"2475",2020-02-19,20.93,301,75,5\n"2476",2020-02-14,20.84,189,76,5\n"2477",2020-02-10,20.21,130,77,5\n"2478",2020-02-18,20.23,833,78,5\n"2479",2020-02-16,20.67,498,79,5\n"2480",2020-02-27,20.67,369,80,5\n"2481",2020-02-20,20.25,417,81,5\n"2482",2020-02-10,20.02,205,82,5\n"2483",2020-02-17,19.29,270,83,5\n"2484",2020-02-22,20.08,338,84,5\n"2485",2020-02-17,20.29,165,85,5\n"2486",2020-02-26,20.53,595,86,5\n"2487",2020-02-20,19.97,681,87,5\n"2488",2020-02-21,20.75,398,88,5\n"2489",2020-02-16,20.94,673,89,5\n"2490",2020-02-23,19.83,372,90,5\n"2491",2020-02-15,20.68,829,91,5\n"2492",2020-02-09,19.7,494,92,5\n"2493",2020-02-04,19.91,227,93,5\n"2494",2020-02-09,20.02,133,94,5\n"2495",2020-02-23,20.75,472,95,5\n"2496",2020-02-06,20.53,233,96,5\n"2497",2020-02-12,21.03,500,97,5\n"2498",2020-02-15,19.97,382,98,5\n"2499",2020-02-04,19.55,364,99,5\n"2500",2020-02-27,21.73,169,100,5\n"2501",2020-02-23,20.78,577,1,6\n"2502",2020-02-22,20.18,119,2,6\n"2503",2020-02-24,20.8,253,3,6\n"2504",2020-02-26,20.96,379,4,6\n"2505",2020-02-14,21.94,342,5,6\n"2506",2020-02-16,20.67,342,6,6\n"2507",2020-02-29,20.27,327,7,6\n"2508",2020-02-14,20.71,81,8,6\n"2509",2020-02-24,19.54,438,9,6\n"2510",2020-02-28,20.41,565,10,6\n"2511",2020-02-28,21.09,171,11,6\n"2512",2020-02-06,21.28,747,12,6\n"2513",2020-02-03,19.86,220,13,6\n"2514",2020-02-28,19.68,299,14,6\n"2515",2020-02-26,20.16,493,15,6\n"2516",2020-02-02,20.08,608,16,6\n"2517",2020-02-23,21.77,379,17,6\n"2518",2020-02-25,21.07,236,18,6\n"2519",2020-02-29,19.4,224,19,6\n"2520",2020-02-19,19.62,193,20,6\n"2521",2020-02-24,20.4,236,21,6\n"2522",2020-02-04,19.2,424,22,6\n"2523",2020-02-22,20.53,267,23,6\n"2524",2020-02-22,20.7,193,24,6\n"2525",2020-02-27,20.78,775,25,6\n"2526",2020-02-17,21.61,260,26,6\n"2527",2020-02-25,20.42,189,27,6\n"2528",2020-02-27,20.62,453,28,6\n"2529",2020-02-09,19.76,204,29,6\n"2530",2020-02-11,20.99,232,30,6\n"2531",2020-02-22,21.55,404,31,6\n"2532",2020-02-04,19.63,205,32,6\n"2533",2020-02-09,21.27,229,33,6\n"2534",2020-02-01,21.09,159,34,6\n"2535",2020-02-20,19.82,794,35,6\n"2536",2020-02-03,20.63,603,36,6\n"2537",2020-02-16,20.44,239,37,6\n"2538",2020-02-18,20.2,490,38,6\n"2539",2020-02-16,20.43,150,39,6\n"2540",2020-02-01,21.5,301,40,6\n"2541",2020-02-17,20.85,230,41,6\n"2542",2020-02-13,20.64,311,42,6\n"2543",2020-02-27,21.22,413,43,6\n"2544",2020-02-24,21.35,361,44,6\n"2545",2020-02-23,21.26,257,45,6\n"2546",2020-02-05,20.41,751,46,6\n"2547",2020-02-16,20.15,739,47,6\n"2548",2020-02-28,20.12,392,48,6\n"2549",2020-02-07,20.42,287,49,6\n"2550",2020-02-02,20.09,443,50,6\n"2551",2020-02-19,20.24,380,51,6\n"2552",2020-02-20,20.57,379,52,6\n"2553",2020-02-24,19.69,936,53,6\n"2554",2020-02-05,20.67,126,54,6\n"2555",2020-02-16,20.72,238,55,6\n"2556",2020-02-08,20.23,575,56,6\n"2557",2020-02-22,22.18,345,57,6\n"2558",2020-02-17,19.55,588,58,6\n"2559",2020-02-19,19.96,509,59,6\n"2560",2020-02-06,20.1,207,60,6\n"2561",2020-02-20,20.38,273,61,6\n"2562",2020-02-07,19.94,228,62,6\n"2563",2020-02-16,21.03,442,63,6\n"2564",2020-02-08,21.15,458,64,6\n"2565",2020-02-22,20.57,463,65,6\n"2566",2020-02-28,19.25,1355,66,6\n"2567",2020-02-17,20.51,265,67,6\n"2568",2020-02-04,21.31,329,68,6\n"2569",2020-02-17,19.68,373,69,6\n"2570",2020-02-29,19.97,246,70,6\n"2571",2020-02-20,20.21,273,71,6\n"2572",2020-02-27,21.07,434,72,6\n"2573",2020-02-18,20.77,435,73,6\n"2574",2020-02-12,21.44,261,74,6\n"2575",2020-02-19,21.61,467,75,6\n"2576",2020-02-14,21.72,590,76,6\n"2577",2020-02-10,20.4,410,77,6\n"2578",2020-02-18,19.62,411,78,6\n"2579",2020-02-16,20.97,309,79,6\n"2580",2020-02-27,20.2,548,80,6\n"2581",2020-02-20,20.76,671,81,6\n"2582",2020-02-10,21.2,313,82,6\n"2583",2020-02-17,21.32,180,83,6\n"2584",2020-02-22,20.13,251,84,6\n"2585",2020-02-17,19.66,343,85,6\n"2586",2020-02-26,19.56,613,86,6\n"2587",2020-02-20,19.48,547,87,6\n"2588",2020-02-21,21.46,568,88,6\n"2589",2020-02-16,20.15,425,89,6\n"2590",2020-02-23,20.87,566,90,6\n"2591",2020-02-15,20.49,285,91,6\n"2592",2020-02-09,20.38,207,92,6\n"2593",2020-02-04,19.81,137,93,6\n"2594",2020-02-09,21.11,379,94,6\n"2595",2020-02-23,20.58,158,95,6\n"2596",2020-02-06,19.02,447,96,6\n"2597",2020-02-12,19.6,278,97,6\n"2598",2020-02-15,20.24,563,98,6\n"2599",2020-02-04,19.43,597,99,6\n"2600",2020-02-27,20.63,292,100,6\n"2601",2020-02-23,20.04,422,1,7\n"2602",2020-02-22,19.8,334,2,7\n"2603",2020-02-24,20.47,609,3,7\n"2604",2020-02-26,20.02,569,4,7\n"2605",2020-02-14,20.1,255,5,7\n"2606",2020-02-16,21.03,146,6,7\n"2607",2020-02-29,21.21,180,7,7\n"2608",2020-02-14,20.29,714,8,7\n"2609",2020-02-24,20.81,364,9,7\n"2610",2020-02-28,20.36,206,10,7\n"2611",2020-02-28,19.86,448,11,7\n"2612",2020-02-06,20.64,333,12,7\n"2613",2020-02-03,20.76,572,13,7\n"2614",2020-02-28,20.96,576,14,7\n"2615",2020-02-26,20.79,208,15,7\n"2616",2020-02-02,19.21,249,16,7\n"2617",2020-02-23,20.53,370,17,7\n"2618",2020-02-25,21.36,231,18,7\n"2619",2020-02-29,21.29,163,19,7\n"2620",2020-02-19,20.18,489,20,7\n"2621",2020-02-24,20.56,314,21,7\n"2622",2020-02-04,21.22,317,22,7\n"2623",2020-02-22,21.3,822,23,7\n"2624",2020-02-22,20.08,215,24,7\n"2625",2020-02-27,20.68,300,25,7\n"2626",2020-02-17,19.75,685,26,7\n"2627",2020-02-25,21.02,333,27,7\n"2628",2020-02-27,20.91,273,28,7\n"2629",2020-02-09,21.46,347,29,7\n"2630",2020-02-11,20.82,319,30,7\n"2631",2020-02-22,19.56,325,31,7\n"2632",2020-02-04,20.36,656,32,7\n"2633",2020-02-09,19.6,464,33,7\n"2634",2020-02-01,20.22,557,34,7\n"2635",2020-02-20,20.25,413,35,7\n"2636",2020-02-03,21.97,751,36,7\n"2637",2020-02-16,20.82,320,37,7\n"2638",2020-02-18,20.31,232,38,7\n"2639",2020-02-16,20.89,459,39,7\n"2640",2020-02-01,20.63,449,40,7\n"2641",2020-02-17,20.16,402,41,7\n"2642",2020-02-13,20.58,119,42,7\n"2643",2020-02-27,20.11,336,43,7\n"2644",2020-02-24,20.44,410,44,7\n"2645",2020-02-23,20.41,485,45,7\n"2646",2020-02-05,20.38,328,46,7\n"2647",2020-02-16,21.26,487,47,7\n"2648",2020-02-28,19.79,294,48,7\n"2649",2020-02-07,20.92,453,49,7\n"2650",2020-02-02,21.89,190,50,7\n"2651",2020-02-19,20.12,390,51,7\n"2652",2020-02-20,20.8,341,52,7\n"2653",2020-02-24,19.88,303,53,7\n"2654",2020-02-05,21.17,276,54,7\n"2655",2020-02-16,20.3,210,55,7\n"2656",2020-02-08,20.58,120,56,7\n"2657",2020-02-22,19.28,216,57,7\n"2658",2020-02-17,20.6,538,58,7\n"2659",2020-02-19,21.52,425,59,7\n"2660",2020-02-06,20.92,477,60,7\n"2661",2020-02-20,19.4,1517,61,7\n"2662",2020-02-07,20.2,370,62,7\n"2663",2020-02-16,20.42,306,63,7\n"2664",2020-02-08,19.83,254,64,7\n"2665",2020-02-22,20.74,363,65,7\n"2666",2020-02-28,19.29,175,66,7\n"2667",2020-02-17,20.95,307,67,7\n"2668",2020-02-04,20.29,488,68,7\n"2669",2020-02-17,20.02,430,69,7\n"2670",2020-02-29,19.89,397,70,7\n"2671",2020-02-20,20.52,1078,71,7\n"2672",2020-02-27,20.98,255,72,7\n"2673",2020-02-18,20.97,399,73,7\n"2674",2020-02-12,20.91,383,74,7\n"2675",2020-02-19,20.86,559,75,7\n"2676",2020-02-14,20.08,159,76,7\n"2677",2020-02-10,21.64,269,77,7\n"2678",2020-02-18,20.15,136,78,7\n"2679",2020-02-16,21.72,172,79,7\n"2680",2020-02-27,21.33,566,80,7\n"2681",2020-02-20,19.58,606,81,7\n"2682",2020-02-10,21.99,224,82,7\n"2683",2020-02-17,18.49,582,83,7\n"2684",2020-02-22,21.7,121,84,7\n"2685",2020-02-17,20.26,433,85,7\n"2686",2020-02-26,19.82,777,86,7\n"2687",2020-02-20,20.39,616,87,7\n"2688",2020-02-21,19.87,201,88,7\n"2689",2020-02-16,22.01,407,89,7\n"2690",2020-02-23,20.11,439,90,7\n"2691",2020-02-15,20.51,552,91,7\n"2692",2020-02-09,19.92,237,92,7\n"2693",2020-02-04,19.51,458,93,7\n"2694",2020-02-09,19.71,124,94,7\n"2695",2020-02-23,20.02,324,95,7\n"2696",2020-02-06,21.54,278,96,7\n"2697",2020-02-12,19.58,252,97,7\n"2698",2020-02-15,20.76,370,98,7\n"2699",2020-02-04,20.54,370,99,7\n"2700",2020-02-27,20.84,467,100,7\n"2701",2020-02-23,20.06,408,1,8\n"2702",2020-02-22,20.82,514,2,8\n"2703",2020-02-24,21.11,169,3,8\n"2704",2020-02-26,20.11,518,4,8\n"2705",2020-02-14,20.07,564,5,8\n"2706",2020-02-16,19.92,195,6,8\n"2707",2020-02-29,20.74,318,7,8\n"2708",2020-02-14,20.58,218,8,8\n"2709",2020-02-24,21.62,821,9,8\n"2710",2020-02-28,20.23,272,10,8\n"2711",2020-02-28,19.88,260,11,8\n"2712",2020-02-06,20.74,400,12,8\n"2713",2020-02-03,20.89,356,13,8\n"2714",2020-02-28,19.51,999,14,8\n"2715",2020-02-26,20.3,253,15,8\n"2716",2020-02-02,20.27,295,16,8\n"2717",2020-02-23,19.71,250,17,8\n"2718",2020-02-25,20.45,242,18,8\n"2719",2020-02-29,20.11,356,19,8\n"2720",2020-02-19,20.76,385,20,8\n"2721",2020-02-24,20.16,349,21,8\n"2722",2020-02-04,21.77,127,22,8\n"2723",2020-02-22,20.22,663,23,8\n"2724",2020-02-22,20.07,575,24,8\n"2725",2020-02-27,20.94,183,25,8\n"2726",2020-02-17,21.07,396,26,8\n"2727",2020-02-25,19.16,301,27,8\n"2728",2020-02-27,20.53,295,28,8\n"2729",2020-02-09,19.67,415,29,8\n"2730",2020-02-11,19.99,223,30,8\n"2731",2020-02-22,20.69,310,31,8\n"2732",2020-02-04,20.99,232,32,8\n"2733",2020-02-09,20.37,459,33,8\n"2734",2020-02-01,20.56,234,34,8\n"2735",2020-02-20,19.99,315,35,8\n"2736",2020-02-03,20.47,383,36,8\n"2737",2020-02-16,20.64,299,37,8\n"2738",2020-02-18,20.09,410,38,8\n"2739",2020-02-16,20.44,271,39,8\n"2740",2020-02-01,20.6,378,40,8\n"2741",2020-02-17,19.99,658,41,8\n"2742",2020-02-13,20.2,278,42,8\n"2743",2020-02-27,19.41,506,43,8\n"2744",2020-02-24,19.95,368,44,8\n"2745",2020-02-23,20.05,526,45,8\n"2746",2020-02-05,19.96,345,46,8\n"2747",2020-02-16,19.91,181,47,8\n"2748",2020-02-28,19.57,432,48,8\n"2749",2020-02-07,20.69,500,49,8\n"2750",2020-02-02,20.98,700,50,8\n"2751",2020-02-19,21.07,537,51,8\n"2752",2020-02-20,20.79,199,52,8\n"2753",2020-02-24,20.05,511,53,8\n"2754",2020-02-05,20.78,304,54,8\n"2755",2020-02-16,20.39,186,55,8\n"2756",2020-02-08,19.73,103,56,8\n"2757",2020-02-22,20.24,273,57,8\n"2758",2020-02-17,20.2,751,58,8\n"2759",2020-02-19,19.88,187,59,8\n"2760",2020-02-06,19.45,727,60,8\n"2761",2020-02-20,21.33,202,61,8\n"2762",2020-02-07,20.3,547,62,8\n"2763",2020-02-16,19.98,229,63,8\n"2764",2020-02-08,21.3,227,64,8\n"2765",2020-02-22,21,278,65,8\n"2766",2020-02-28,20.1,473,66,8\n"2767",2020-02-17,21.24,825,67,8\n"2768",2020-02-04,21.39,632,68,8\n"2769",2020-02-17,20.72,607,69,8\n"2770",2020-02-29,21.15,301,70,8\n"2771",2020-02-20,20.1,342,71,8\n"2772",2020-02-27,22.89,619,72,8\n"2773",2020-02-18,19.33,380,73,8\n"2774",2020-02-12,21.49,460,74,8\n"2775",2020-02-19,21.07,281,75,8\n"2776",2020-02-14,20.64,131,76,8\n"2777",2020-02-10,20.65,326,77,8\n"2778",2020-02-18,19.79,470,78,8\n"2779",2020-02-16,21.36,836,79,8\n"2780",2020-02-27,19.49,242,80,8\n"2781",2020-02-20,20.87,405,81,8\n"2782",2020-02-10,20.32,776,82,8\n"2783",2020-02-17,20.42,321,83,8\n"2784",2020-02-22,20.88,340,84,8\n"2785",2020-02-17,20.47,440,85,8\n"2786",2020-02-26,19.63,299,86,8\n"2787",2020-02-20,20.07,237,87,8\n"2788",2020-02-21,20.15,260,88,8\n"2789",2020-02-16,20.3,708,89,8\n"2790",2020-02-23,20.05,534,90,8\n"2791",2020-02-15,20.27,688,91,8\n"2792",2020-02-09,19.82,215,92,8\n"2793",2020-02-04,21.1,663,93,8\n"2794",2020-02-09,21.07,1035,94,8\n"2795",2020-02-23,19.54,386,95,8\n"2796",2020-02-06,20.86,151,96,8\n"2797",2020-02-12,21.01,355,97,8\n"2798",2020-02-15,20.94,474,98,8\n"2799",2020-02-04,21.54,234,99,8\n"2800",2020-02-27,20.66,304,100,8\n"2801",2020-02-23,20.11,566,1,9\n"2802",2020-02-22,20.5,505,2,9\n"2803",2020-02-24,20.61,215,3,9\n"2804",2020-02-26,20.36,236,4,9\n"2805",2020-02-14,20.94,181,5,9\n"2806",2020-02-16,20.41,482,6,9\n"2807",2020-02-29,19.9,390,7,9\n"2808",2020-02-14,20.84,133,8,9\n"2809",2020-02-24,20.8,460,9,9\n"2810",2020-02-28,20.45,340,10,9\n"2811",2020-02-28,21.15,336,11,9\n"2812",2020-02-06,21.02,173,12,9\n"2813",2020-02-03,19.25,150,13,9\n"2814",2020-02-28,19.81,210,14,9\n"2815",2020-02-26,20.98,407,15,9\n"2816",2020-02-02,19.86,263,16,9\n"2817",2020-02-23,20.88,455,17,9\n"2818",2020-02-25,20.7,678,18,9\n"2819",2020-02-29,18.92,292,19,9\n"2820",2020-02-19,20.22,471,20,9\n"2821",2020-02-24,19.53,320,21,9\n"2822",2020-02-04,20.64,815,22,9\n"2823",2020-02-22,20.7,361,23,9\n"2824",2020-02-22,20.91,231,24,9\n"2825",2020-02-27,21.06,327,25,9\n"2826",2020-02-17,20.54,648,26,9\n"2827",2020-02-25,20.42,715,27,9\n"2828",2020-02-27,19.84,554,28,9\n"2829",2020-02-09,20.89,393,29,9\n"2830",2020-02-11,20.41,776,30,9\n"2831",2020-02-22,20.29,467,31,9\n"2832",2020-02-04,19.74,484,32,9\n"2833",2020-02-09,20.7,610,33,9\n"2834",2020-02-01,19.43,349,34,9\n"2835",2020-02-20,19.58,514,35,9\n"2836",2020-02-03,20.45,472,36,9\n"2837",2020-02-16,20.85,1145,37,9\n"2838",2020-02-18,21.03,380,38,9\n"2839",2020-02-16,19.88,612,39,9\n"2840",2020-02-01,20.6,225,40,9\n"2841",2020-02-17,21.08,151,41,9\n"2842",2020-02-13,21.02,568,42,9\n"2843",2020-02-27,20.51,572,43,9\n"2844",2020-02-24,19.96,239,44,9\n"2845",2020-02-23,20.01,471,45,9\n"2846",2020-02-05,20.97,318,46,9\n"2847",2020-02-16,20.87,363,47,9\n"2848",2020-02-28,18.9,961,48,9\n"2849",2020-02-07,20.94,333,49,9\n"2850",2020-02-02,20.42,400,50,9\n"2851",2020-02-19,20.18,928,51,9\n"2852",2020-02-20,20.51,608,52,9\n"2853",2020-02-24,21.42,226,53,9\n"2854",2020-02-05,19.59,460,54,9\n"2855",2020-02-16,20.65,1235,55,9\n"2856",2020-02-08,21.01,230,56,9\n"2857",2020-02-22,20.38,349,57,9\n"2858",2020-02-17,21,654,58,9\n"2859",2020-02-19,21.06,1229,59,9\n"2860",2020-02-06,20.71,180,60,9\n"2861",2020-02-20,20.06,310,61,9\n"2862",2020-02-07,20.98,544,62,9\n"2863",2020-02-16,19.84,278,63,9\n"2864",2020-02-08,21.96,275,64,9\n"2865",2020-02-22,20.35,853,65,9\n"2866",2020-02-28,20.03,231,66,9\n"2867",2020-02-17,20.52,450,67,9\n"2868",2020-02-04,20.6,417,68,9\n"2869",2020-02-17,19.85,250,69,9\n"2870",2020-02-29,20.35,244,70,9\n"2871",2020-02-20,20.2,336,71,9\n"2872",2020-02-27,20.26,432,72,9\n"2873",2020-02-18,19.72,297,73,9\n"2874",2020-02-12,19.87,535,74,9\n"2875",2020-02-19,20.98,1041,75,9\n"2876",2020-02-14,20.61,485,76,9\n"2877",2020-02-10,20.31,607,77,9\n"2878",2020-02-18,21.17,389,78,9\n"2879",2020-02-16,21.57,206,79,9\n"2880",2020-02-27,19.67,519,80,9\n"2881",2020-02-20,20.5,250,81,9\n"2882",2020-02-10,20.34,603,82,9\n"2883",2020-02-17,21.34,192,83,9\n"2884",2020-02-22,19.74,402,84,9\n"2885",2020-02-17,20.63,565,85,9\n"2886",2020-02-26,20.58,262,86,9\n"2887",2020-02-20,21.24,436,87,9\n"2888",2020-02-21,20.89,554,88,9\n"2889",2020-02-16,20.1,252,89,9\n"2890",2020-02-23,20.6,165,90,9\n"2891",2020-02-15,20.49,354,91,9\n"2892",2020-02-09,20.91,396,92,9\n"2893",2020-02-04,20.19,258,93,9\n"2894",2020-02-09,20.86,303,94,9\n"2895",2020-02-23,20.4,294,95,9\n"2896",2020-02-06,20.12,278,96,9\n"2897",2020-02-12,21.46,490,97,9\n"2898",2020-02-15,21.22,339,98,9\n"2899",2020-02-04,21.67,214,99,9\n"2900",2020-02-27,20.7,965,100,9\n"2901",2020-02-23,21.43,273,1,10\n"2902",2020-02-22,19.98,210,2,10\n"2903",2020-02-24,21.37,506,3,10\n"2904",2020-02-26,20.36,154,4,10\n"2905",2020-02-14,20.75,662,5,10\n"2906",2020-02-16,20.46,164,6,10\n"2907",2020-02-29,19.37,601,7,10\n"2908",2020-02-14,19.77,154,8,10\n"2909",2020-02-24,20.13,309,9,10\n"2910",2020-02-28,20.52,155,10,10\n"2911",2020-02-28,20.37,496,11,10\n"2912",2020-02-06,20.52,545,12,10\n"2913",2020-02-03,19.9,338,13,10\n"2914",2020-02-28,20.12,241,14,10\n"2915",2020-02-26,21.01,124,15,10\n"2916",2020-02-02,20.46,556,16,10\n"2917",2020-02-23,19.35,499,17,10\n"2918",2020-02-25,20.12,227,18,10\n"2919",2020-02-29,19.59,362,19,10\n"2920",2020-02-19,19.81,438,20,10\n"2921",2020-02-24,20.3,244,21,10\n"2922",2020-02-04,20.89,270,22,10\n"2923",2020-02-22,20.16,370,23,10\n"2924",2020-02-22,20.45,172,24,10\n"2925",2020-02-27,20.68,360,25,10\n"2926",2020-02-17,21.17,536,26,10\n"2927",2020-02-25,19.74,387,27,10\n"2928",2020-02-27,20.79,485,28,10\n"2929",2020-02-09,21.25,152,29,10\n"2930",2020-02-11,19.68,462,30,10\n"2931",2020-02-22,20.96,374,31,10\n"2932",2020-02-04,19.14,565,32,10\n"2933",2020-02-09,20,333,33,10\n"2934",2020-02-01,20.23,239,34,10\n"2935",2020-02-20,19.91,238,35,10\n"2936",2020-02-03,20.18,434,36,10\n"2937",2020-02-16,20.98,313,37,10\n"2938",2020-02-18,20.54,588,38,10\n"2939",2020-02-16,20.51,268,39,10\n"2940",2020-02-01,20.47,896,40,10\n"2941",2020-02-17,20.65,363,41,10\n"2942",2020-02-13,21.77,148,42,10\n"2943",2020-02-27,20.97,328,43,10\n"2944",2020-02-24,20.54,1222,44,10\n"2945",2020-02-23,19.97,176,45,10\n"2946",2020-02-05,20.93,254,46,10\n"2947",2020-02-16,20.34,192,47,10\n"2948",2020-02-28,20.5,750,48,10\n"2949",2020-02-07,20.36,257,49,10\n"2950",2020-02-02,20.33,285,50,10\n"2951",2020-02-19,20.75,489,51,10\n"2952",2020-02-20,20.34,304,52,10\n"2953",2020-02-24,20.09,379,53,10\n"2954",2020-02-05,19.92,484,54,10\n"2955",2020-02-16,20.53,181,55,10\n"2956",2020-02-08,20.8,182,56,10\n"2957",2020-02-22,21.21,283,57,10\n"2958",2020-02-17,20.69,305,58,10\n"2959",2020-02-19,20.56,231,59,10\n"2960",2020-02-06,21.34,151,60,10\n"2961",2020-02-20,21.01,313,61,10\n"2962",2020-02-07,20.42,231,62,10\n"2963",2020-02-16,20.25,566,63,10\n"2964",2020-02-08,20.11,405,64,10\n"2965",2020-02-22,19.52,824,65,10\n"2966",2020-02-28,20.77,285,66,10\n"2967",2020-02-17,20.34,444,67,10\n"2968",2020-02-04,20.45,999,68,10\n"2969",2020-02-17,19.71,591,69,10\n"2970",2020-02-29,20.34,568,70,10\n"2971",2020-02-20,21.66,328,71,10\n"2972",2020-02-27,19.97,354,72,10\n"2973",2020-02-18,20.33,479,73,10\n"2974",2020-02-12,20.34,544,74,10\n"2975",2020-02-19,20.57,222,75,10\n"2976",2020-02-14,20.3,360,76,10\n"2977",2020-02-10,19.62,329,77,10\n"2978",2020-02-18,20.08,598,78,10\n"2979",2020-02-16,20.38,401,79,10\n"2980",2020-02-27,19.57,491,80,10\n"2981",2020-02-20,20.29,321,81,10\n"2982",2020-02-10,21.48,194,82,10\n"2983",2020-02-17,20.56,277,83,10\n"2984",2020-02-22,21.4,283,84,10\n"2985",2020-02-17,20.61,366,85,10\n"2986",2020-02-26,20.56,578,86,10\n"2987",2020-02-20,20.31,705,87,10\n"2988",2020-02-21,20.54,234,88,10\n"2989",2020-02-16,19.76,117,89,10\n"2990",2020-02-23,19.77,554,90,10\n"2991",2020-02-15,20.39,483,91,10\n"2992",2020-02-09,19.78,213,92,10\n"2993",2020-02-04,20.11,451,93,10\n"2994",2020-02-09,19.78,362,94,10\n"2995",2020-02-23,20.51,338,95,10\n"2996",2020-02-06,19.9,121,96,10\n"2997",2020-02-12,20.96,120,97,10\n"2998",2020-02-15,19.48,230,98,10\n"2999",2020-02-04,20.3,500,99,10\n"3000",2020-02-27,19.8,355,100,10\n"3001",2020-03-24,19.87,384,1,1\n"3002",2020-03-28,20.59,370,2,1\n"3003",2020-03-03,21.34,288,3,1\n"3004",2020-03-24,20.92,422,4,1\n"3005",2020-03-26,21.03,503,5,1\n"3006",2020-03-29,21.42,226,6,1\n"3007",2020-03-24,20.19,451,7,1\n"3008",2020-03-10,20.8,719,8,1\n"3009",2020-03-23,20.25,306,9,1\n"3010",2020-03-03,20.42,782,10,1\n"3011",2020-03-14,20.53,482,11,1\n"3012",2020-03-02,20.8,486,12,1\n"3013",2020-03-22,20.82,407,13,1\n"3014",2020-03-14,20.37,401,14,1\n"3015",2020-03-28,21.12,309,15,1\n"3016",2020-03-13,21.96,183,16,1\n"3017",2020-03-07,20.47,579,17,1\n"3018",2020-03-27,22.14,1864,18,1\n"3019",2020-03-15,21.43,358,19,1\n"3020",2020-03-31,21.77,356,20,1\n"3021",2020-03-30,21.12,148,21,1\n"3022",2020-03-30,20.33,408,22,1\n"3023",2020-03-26,21.48,311,23,1\n"3024",2020-03-12,20.31,305,24,1\n"3025",2020-03-29,21.4,236,25,1\n"3026",2020-03-09,19.91,249,26,1\n"3027",2020-03-29,21.34,1093,27,1\n"3028",2020-03-03,21.36,161,28,1\n"3029",2020-03-01,20.98,319,29,1\n"3030",2020-03-28,20.72,304,30,1\n"3031",2020-03-17,20.19,364,31,1\n"3032",2020-03-07,21.5,457,32,1\n"3033",2020-03-10,21.07,174,33,1\n"3034",2020-03-29,21.65,168,34,1\n"3035",2020-03-27,20.76,279,35,1\n"3036",2020-03-30,21.23,898,36,1\n"3037",2020-03-12,21.4,182,37,1\n"3038",2020-03-28,21.45,315,38,1\n"3039",2020-03-06,20.27,681,39,1\n"3040",2020-03-24,21.38,891,40,1\n"3041",2020-03-24,21.76,497,41,1\n"3042",2020-03-26,19.93,370,42,1\n"3043",2020-03-31,22.29,397,43,1\n"3044",2020-03-14,20.62,226,44,1\n"3045",2020-03-03,21.28,351,45,1\n"3046",2020-03-08,20.9,489,46,1\n"3047",2020-03-19,20.83,211,47,1\n"3048",2020-03-11,21.52,393,48,1\n"3049",2020-03-14,21.57,787,49,1\n"3050",2020-03-31,20.15,443,50,1\n"3051",2020-03-09,19.08,527,51,1\n"3052",2020-03-08,20.34,462,52,1\n"3053",2020-03-30,20.43,305,53,1\n"3054",2020-03-31,21.14,635,54,1\n"3055",2020-03-15,20.51,575,55,1\n"3056",2020-03-17,21.06,811,56,1\n"3057",2020-03-17,21.76,434,57,1\n"3058",2020-03-22,21.3,405,58,1\n"3059",2020-03-29,20.72,689,59,1\n"3060",2020-03-22,19.47,404,60,1\n"3061",2020-03-26,21.62,364,61,1\n"3062",2020-03-02,20.94,236,62,1\n"3063",2020-03-26,20.68,183,63,1\n"3064",2020-03-22,21.28,276,64,1\n"3065",2020-03-14,21.15,481,65,1\n"3066",2020-03-18,21.62,211,66,1\n"3067",2020-03-21,21.92,104,67,1\n"3068",2020-03-06,19.87,243,68,1\n"3069",2020-03-25,20.67,457,69,1\n"3070",2020-03-07,21.29,127,70,1\n"3071",2020-03-14,21.22,441,71,1\n"3072",2020-03-12,20.93,211,72,1\n"3073",2020-03-10,20.86,420,73,1\n"3074",2020-03-25,21.43,434,74,1\n"3075",2020-03-18,20.71,571,75,1\n"3076",2020-03-13,20.16,174,76,1\n"3077",2020-03-07,20.4,250,77,1\n"3078",2020-03-21,20.97,553,78,1\n"3079",2020-03-18,21.94,314,79,1\n"3080",2020-03-22,20.39,582,80,1\n"3081",2020-03-27,20.82,364,81,1\n"3082",2020-03-28,22.3,230,82,1\n"3083",2020-03-17,21.69,531,83,1\n"3084",2020-03-03,21.4,333,84,1\n"3085",2020-03-08,22.04,476,85,1\n"3086",2020-03-08,21.8,512,86,1\n"3087",2020-03-31,21.24,582,87,1\n"3088",2020-03-03,20.13,186,88,1\n"3089",2020-03-07,21.82,263,89,1\n"3090",2020-03-06,21.31,199,90,1\n"3091",2020-03-18,21.35,157,91,1\n"3092",2020-03-09,21.16,279,92,1\n"3093",2020-03-28,20.91,320,93,1\n"3094",2020-03-11,19.94,233,94,1\n"3095",2020-03-30,21.24,587,95,1\n"3096",2020-03-14,21.67,391,96,1\n"3097",2020-03-05,20.77,264,97,1\n"3098",2020-03-25,20.86,157,98,1\n"3099",2020-03-19,20.95,770,99,1\n"3100",2020-03-06,21.24,504,100,1\n"3101",2020-03-24,20.89,454,1,2\n"3102",2020-03-28,21.37,408,2,2\n"3103",2020-03-03,21.1,247,3,2\n"3104",2020-03-24,20.69,207,4,2\n"3105",2020-03-26,20.9,171,5,2\n"3106",2020-03-29,21.2,310,6,2\n"3107",2020-03-24,20.35,600,7,2\n"3108",2020-03-10,20.99,592,8,2\n"3109",2020-03-23,19.95,477,9,2\n"3110",2020-03-03,21.52,274,10,2\n"3111",2020-03-14,20.44,888,11,2\n"3112",2020-03-02,21.3,356,12,2\n"3113",2020-03-22,21.49,1189,13,2\n"3114",2020-03-14,21.5,455,14,2\n"3115",2020-03-28,20.17,421,15,2\n"3116",2020-03-13,21.22,569,16,2\n"3117",2020-03-07,21.04,473,17,2\n"3118",2020-03-27,22.48,470,18,2\n"3119",2020-03-15,20.5,466,19,2\n"3120",2020-03-31,20.35,190,20,2\n"3121",2020-03-30,21.91,511,21,2\n"3122",2020-03-30,20.59,392,22,2\n"3123",2020-03-26,20.42,304,23,2\n"3124",2020-03-12,22.52,369,24,2\n"3125",2020-03-29,20.63,879,25,2\n"3126",2020-03-09,21.12,181,26,2\n"3127",2020-03-29,22.1,592,27,2\n"3128",2020-03-03,21.13,314,28,2\n"3129",2020-03-01,20.92,255,29,2\n"3130",2020-03-28,22.27,533,30,2\n"3131",2020-03-17,21.53,211,31,2\n"3132",2020-03-07,20.21,270,32,2\n"3133",2020-03-10,20.96,450,33,2\n"3134",2020-03-29,20.4,328,34,2\n"3135",2020-03-27,20.79,313,35,2\n"3136",2020-03-30,21.64,633,36,2\n"3137",2020-03-12,20.9,927,37,2\n"3138",2020-03-28,20.86,160,38,2\n"3139",2020-03-06,22.35,64,39,2\n"3140",2020-03-24,20.97,921,40,2\n"3141",2020-03-24,21.4,529,41,2\n"3142",2020-03-26,21.06,1087,42,2\n"3143",2020-03-31,21.33,483,43,2\n"3144",2020-03-14,21.09,309,44,2\n"3145",2020-03-03,21.55,189,45,2\n"3146",2020-03-08,19.6,292,46,2\n"3147",2020-03-19,20.96,321,47,2\n"3148",2020-03-11,21.27,458,48,2\n"3149",2020-03-14,20.63,228,49,2\n"3150",2020-03-31,21,312,50,2\n"3151",2020-03-09,20.91,111,51,2\n"3152",2020-03-08,21.42,140,52,2\n"3153",2020-03-30,20.87,550,53,2\n"3154",2020-03-31,21.39,591,54,2\n"3155",2020-03-15,22.05,187,55,2\n"3156",2020-03-17,21.19,434,56,2\n"3157",2020-03-17,22.09,219,57,2\n"3158",2020-03-22,21.07,305,58,2\n"3159",2020-03-29,21.27,596,59,2\n"3160",2020-03-22,20.71,252,60,2\n"3161",2020-03-26,20.82,576,61,2\n"3162",2020-03-02,20.19,892,62,2\n"3163",2020-03-26,21.66,148,63,2\n"3164",2020-03-22,21.56,904,64,2\n"3165",2020-03-14,20.78,404,65,2\n"3166",2020-03-18,21.48,516,66,2\n"3167",2020-03-21,20.59,214,67,2\n"3168",2020-03-06,20.79,564,68,2\n"3169",2020-03-25,21.3,364,69,2\n"3170",2020-03-07,20.48,300,70,2\n"3171",2020-03-14,20.68,284,71,2\n"3172",2020-03-12,21.45,394,72,2\n"3173",2020-03-10,21.11,366,73,2\n"3174",2020-03-25,21.83,582,74,2\n"3175",2020-03-18,21.2,729,75,2\n"3176",2020-03-13,21.4,325,76,2\n"3177",2020-03-07,21.21,500,77,2\n"3178",2020-03-21,20.92,398,78,2\n"3179",2020-03-18,20.52,240,79,2\n"3180",2020-03-22,21.14,208,80,2\n"3181",2020-03-27,19.79,242,81,2\n"3182",2020-03-28,20.58,292,82,2\n"3183",2020-03-17,22.19,332,83,2\n"3184",2020-03-03,20.45,289,84,2\n"3185",2020-03-08,21.1,605,85,2\n"3186",2020-03-08,21.53,502,86,2\n"3187",2020-03-31,20.45,308,87,2\n"3188",2020-03-03,21.06,498,88,2\n"3189",2020-03-07,20.57,295,89,2\n"3190",2020-03-06,20.38,709,90,2\n"3191",2020-03-18,20.65,470,91,2\n"3192",2020-03-09,20.47,303,92,2\n"3193",2020-03-28,21.82,320,93,2\n"3194",2020-03-11,20.81,450,94,2\n"3195",2020-03-30,20.09,328,95,2\n"3196",2020-03-14,21.32,741,96,2\n"3197",2020-03-05,20.7,626,97,2\n"3198",2020-03-25,21.37,526,98,2\n"3199",2020-03-19,20.4,347,99,2\n"3200",2020-03-06,23.18,262,100,2\n"3201",2020-03-24,20.74,193,1,3\n"3202",2020-03-28,20.13,247,2,3\n"3203",2020-03-03,19.7,403,3,3\n"3204",2020-03-24,21.06,260,4,3\n"3205",2020-03-26,21.39,518,5,3\n"3206",2020-03-29,20.07,441,6,3\n"3207",2020-03-24,22.14,1197,7,3\n"3208",2020-03-10,20.59,460,8,3\n"3209",2020-03-23,21.08,146,9,3\n"3210",2020-03-03,20.2,558,10,3\n"3211",2020-03-14,21.02,468,11,3\n"3212",2020-03-02,21.73,138,12,3\n"3213",2020-03-22,20.28,816,13,3\n"3214",2020-03-14,22.32,223,14,3\n"3215",2020-03-28,20.47,507,15,3\n"3216",2020-03-13,20.74,396,16,3\n"3217",2020-03-07,20.82,418,17,3\n"3218",2020-03-27,21.43,244,18,3\n"3219",2020-03-15,20.49,482,19,3\n"3220",2020-03-31,20.55,230,20,3\n"3221",2020-03-30,21.59,441,21,3\n"3222",2020-03-30,20.03,291,22,3\n"3223",2020-03-26,21.4,190,23,3\n"3224",2020-03-12,20.02,276,24,3\n"3225",2020-03-29,21.35,502,25,3\n"3226",2020-03-09,21.32,338,26,3\n"3227",2020-03-29,22.12,860,27,3\n"3228",2020-03-03,21,203,28,3\n"3229",2020-03-01,21.02,514,29,3\n"3230",2020-03-28,21.19,323,30,3\n"3231",2020-03-17,21.03,523,31,3\n"3232",2020-03-07,20.26,252,32,3\n"3233",2020-03-10,20.11,357,33,3\n"3234",2020-03-29,21.82,870,34,3\n"3235",2020-03-27,21.51,235,35,3\n"3236",2020-03-30,20.82,234,36,3\n"3237",2020-03-12,21.58,500,37,3\n"3238",2020-03-28,21.79,575,38,3\n"3239",2020-03-06,21.34,163,39,3\n"3240",2020-03-24,21.35,384,40,3\n"3241",2020-03-24,20.89,815,41,3\n"3242",2020-03-26,21.71,145,42,3\n"3243",2020-03-31,21.52,488,43,3\n"3244",2020-03-14,22.79,306,44,3\n"3245",2020-03-03,20.51,587,45,3\n"3246",2020-03-08,21.18,176,46,3\n"3247",2020-03-19,20.86,207,47,3\n"3248",2020-03-11,20.75,340,48,3\n"3249",2020-03-14,20.34,356,49,3\n"3250",2020-03-31,21.17,517,50,3\n"3251",2020-03-09,20.78,728,51,3\n"3252",2020-03-08,20.13,165,52,3\n"3253",2020-03-30,22.24,512,53,3\n"3254",2020-03-31,20.75,406,54,3\n"3255",2020-03-15,20.62,252,55,3\n"3256",2020-03-17,22.1,955,56,3\n"3257",2020-03-17,20.69,566,57,3\n"3258",2020-03-22,21.59,536,58,3\n"3259",2020-03-29,21.97,392,59,3\n"3260",2020-03-22,21.84,482,60,3\n"3261",2020-03-26,22.23,423,61,3\n"3262",2020-03-02,20.55,258,62,3\n"3263",2020-03-26,20.97,829,63,3\n"3264",2020-03-22,20.82,574,64,3\n"3265",2020-03-14,21.32,261,65,3\n"3266",2020-03-18,21.38,252,66,3\n"3267",2020-03-21,20.79,222,67,3\n"3268",2020-03-06,21.55,393,68,3\n"3269",2020-03-25,20.91,187,69,3\n"3270",2020-03-07,21.51,348,70,3\n"3271",2020-03-14,20.67,214,71,3\n"3272",2020-03-12,21.51,652,72,3\n"3273",2020-03-10,20.28,293,73,3\n"3274",2020-03-25,20.13,526,74,3\n"3275",2020-03-18,20.81,1182,75,3\n"3276",2020-03-13,21.85,632,76,3\n"3277",2020-03-07,20.79,196,77,3\n"3278",2020-03-21,21.21,225,78,3\n"3279",2020-03-18,22.2,404,79,3\n"3280",2020-03-22,20.69,229,80,3\n"3281",2020-03-27,21.83,487,81,3\n"3282",2020-03-28,21.93,340,82,3\n"3283",2020-03-17,21.96,458,83,3\n"3284",2020-03-03,21.23,406,84,3\n"3285",2020-03-08,21.27,566,85,3\n"3286",2020-03-08,20.11,153,86,3\n"3287",2020-03-31,21.12,313,87,3\n"3288",2020-03-03,20.63,346,88,3\n"3289",2020-03-07,20.42,322,89,3\n"3290",2020-03-06,20.42,274,90,3\n"3291",2020-03-18,20.66,266,91,3\n"3292",2020-03-09,21.35,741,92,3\n"3293",2020-03-28,20.57,342,93,3\n"3294",2020-03-11,20.31,948,94,3\n"3295",2020-03-30,21.71,329,95,3\n"3296",2020-03-14,20.23,480,96,3\n"3297",2020-03-05,21.2,248,97,3\n"3298",2020-03-25,20.5,562,98,3\n"3299",2020-03-19,21,367,99,3\n"3300",2020-03-06,21.58,203,100,3\n"3301",2020-03-24,19.58,460,1,4\n"3302",2020-03-28,20.09,357,2,4\n"3303",2020-03-03,21,217,3,4\n"3304",2020-03-24,19.89,771,4,4\n"3305",2020-03-26,20.72,277,5,4\n"3306",2020-03-29,21.55,247,6,4\n"3307",2020-03-24,21.3,429,7,4\n"3308",2020-03-10,20.62,532,8,4\n"3309",2020-03-23,20.87,320,9,4\n"3310",2020-03-03,20.66,178,10,4\n"3311",2020-03-14,21.31,489,11,4\n"3312",2020-03-02,21.81,575,12,4\n"3313",2020-03-22,20.92,120,13,4\n"3314",2020-03-14,19.95,227,14,4\n"3315",2020-03-28,21.18,296,15,4\n"3316",2020-03-13,20.45,398,16,4\n"3317",2020-03-07,20.57,509,17,4\n"3318",2020-03-27,21.41,805,18,4\n"3319",2020-03-15,22.15,293,19,4\n"3320",2020-03-31,21.68,297,20,4\n"3321",2020-03-30,19.92,284,21,4\n"3322",2020-03-30,20.69,629,22,4\n"3323",2020-03-26,21.02,152,23,4\n"3324",2020-03-12,20.63,579,24,4\n"3325",2020-03-29,21.3,943,25,4\n"3326",2020-03-09,21.63,261,26,4\n"3327",2020-03-29,21.04,536,27,4\n"3328",2020-03-03,21.46,1039,28,4\n"3329",2020-03-01,20.44,938,29,4\n"3330",2020-03-28,20.5,506,30,4\n"3331",2020-03-17,21.48,126,31,4\n"3332",2020-03-07,20.84,171,32,4\n"3333",2020-03-10,20.88,272,33,4\n"3334",2020-03-29,21.77,397,34,4\n"3335",2020-03-27,20.43,131,35,4\n"3336",2020-03-30,20.46,261,36,4\n"3337",2020-03-12,21.54,98,37,4\n"3338",2020-03-28,21.13,118,38,4\n"3339",2020-03-06,19.96,337,39,4\n"3340",2020-03-24,21.14,654,40,4\n"3341",2020-03-24,21.35,331,41,4\n"3342",2020-03-26,20.37,750,42,4\n"3343",2020-03-31,21.62,555,43,4\n"3344",2020-03-14,20.51,393,44,4\n"3345",2020-03-03,20.81,458,45,4\n"3346",2020-03-08,21.78,372,46,4\n"3347",2020-03-19,20.7,693,47,4\n"3348",2020-03-11,19.68,335,48,4\n"3349",2020-03-14,22.28,223,49,4\n"3350",2020-03-31,21.11,285,50,4\n"3351",2020-03-09,20.35,513,51,4\n"3352",2020-03-08,21.14,176,52,4\n"3353",2020-03-30,19.84,487,53,4\n"3354",2020-03-31,21.15,232,54,4\n"3355",2020-03-15,21.21,343,55,4\n"3356",2020-03-17,22.14,178,56,4\n"3357",2020-03-17,21.16,452,57,4\n"3358",2020-03-22,22.12,574,58,4\n"3359",2020-03-29,21.62,280,59,4\n"3360",2020-03-22,21.01,442,60,4\n"3361",2020-03-26,20,289,61,4\n"3362",2020-03-02,21.3,1074,62,4\n"3363",2020-03-26,20.14,367,63,4\n"3364",2020-03-22,21.97,518,64,4\n"3365",2020-03-14,21.11,530,65,4\n"3366",2020-03-18,20.8,388,66,4\n"3367",2020-03-21,20.26,463,67,4\n"3368",2020-03-06,21.34,369,68,4\n"3369",2020-03-25,20.4,410,69,4\n"3370",2020-03-07,20.29,218,70,4\n"3371",2020-03-14,19.86,324,71,4\n"3372",2020-03-12,21.66,361,72,4\n"3373",2020-03-10,19.41,430,73,4\n"3374",2020-03-25,22.76,118,74,4\n"3375",2020-03-18,20.57,665,75,4\n"3376",2020-03-13,20.54,246,76,4\n"3377",2020-03-07,20.47,343,77,4\n"3378",2020-03-21,20.74,534,78,4\n"3379",2020-03-18,21.57,496,79,4\n"3380",2020-03-22,20.28,424,80,4\n"3381",2020-03-27,20.32,1267,81,4\n"3382",2020-03-28,20.93,900,82,4\n"3383",2020-03-17,21.01,467,83,4\n"3384",2020-03-03,20.76,653,84,4\n"3385",2020-03-08,21,206,85,4\n"3386",2020-03-08,21.79,299,86,4\n"3387",2020-03-31,21.25,546,87,4\n"3388",2020-03-03,21.19,261,88,4\n"3389",2020-03-07,20.79,777,89,4\n"3390",2020-03-06,20.72,257,90,4\n"3391",2020-03-18,21.32,237,91,4\n"3392",2020-03-09,22.1,389,92,4\n"3393",2020-03-28,21.25,209,93,4\n"3394",2020-03-11,22.42,348,94,4\n"3395",2020-03-30,20.1,304,95,4\n"3396",2020-03-14,20.94,519,96,4\n"3397",2020-03-05,21.57,716,97,4\n"3398",2020-03-25,20.88,390,98,4\n"3399",2020-03-19,20.33,208,99,4\n"3400",2020-03-06,21.45,365,100,4\n"3401",2020-03-24,20.84,329,1,5\n"3402",2020-03-28,19.03,266,2,5\n"3403",2020-03-03,19.97,533,3,5\n"3404",2020-03-24,21.36,304,4,5\n"3405",2020-03-26,20.06,505,5,5\n"3406",2020-03-29,21.34,131,6,5\n"3407",2020-03-24,21.37,228,7,5\n"3408",2020-03-10,20.01,192,8,5\n"3409",2020-03-23,20.96,474,9,5\n"3410",2020-03-03,21.21,405,10,5\n"3411",2020-03-14,21.68,676,11,5\n"3412",2020-03-02,20.27,343,12,5\n"3413",2020-03-22,21.7,472,13,5\n"3414",2020-03-14,20.58,647,14,5\n"3415",2020-03-28,20.17,396,15,5\n"3416",2020-03-13,21.66,526,16,5\n"3417",2020-03-07,21.29,680,17,5\n"3418",2020-03-27,20.6,308,18,5\n"3419",2020-03-15,22.08,244,19,5\n"3420",2020-03-31,20.08,264,20,5\n"3421",2020-03-30,20.51,525,21,5\n"3422",2020-03-30,20.76,247,22,5\n"3423",2020-03-26,20.41,529,23,5\n"3424",2020-03-12,20.48,418,24,5\n"3425",2020-03-29,20.58,330,25,5\n"3426",2020-03-09,21.07,732,26,5\n"3427",2020-03-29,20.68,239,27,5\n"3428",2020-03-03,20.51,304,28,5\n"3429",2020-03-01,20.54,505,29,5\n"3430",2020-03-28,21.26,259,30,5\n"3431",2020-03-17,21,220,31,5\n"3432",2020-03-07,20.82,330,32,5\n"3433",2020-03-10,20.79,249,33,5\n"3434",2020-03-29,20.8,210,34,5\n"3435",2020-03-27,21.03,174,35,5\n"3436",2020-03-30,21.85,530,36,5\n"3437",2020-03-12,20.33,297,37,5\n"3438",2020-03-28,20.18,677,38,5\n"3439",2020-03-06,21.94,385,39,5\n"3440",2020-03-24,22.36,740,40,5\n"3441",2020-03-24,21.34,326,41,5\n"3442",2020-03-26,19.9,574,42,5\n"3443",2020-03-31,21.54,743,43,5\n"3444",2020-03-14,19.76,981,44,5\n"3445",2020-03-03,21.21,298,45,5\n"3446",2020-03-08,20.12,276,46,5\n"3447",2020-03-19,22.2,198,47,5\n"3448",2020-03-11,21.43,1578,48,5\n"3449",2020-03-14,20.66,756,49,5\n"3450",2020-03-31,21.22,70,50,5\n"3451",2020-03-09,21.08,201,51,5\n"3452",2020-03-08,21.64,282,52,5\n"3453",2020-03-30,20.7,1178,53,5\n"3454",2020-03-31,21.07,420,54,5\n"3455",2020-03-15,20.85,362,55,5\n"3456",2020-03-17,20.57,478,56,5\n"3457",2020-03-17,21.08,291,57,5\n"3458",2020-03-22,21.04,403,58,5\n"3459",2020-03-29,20.41,482,59,5\n"3460",2020-03-22,20.41,661,60,5\n"3461",2020-03-26,20.43,184,61,5\n"3462",2020-03-02,19.64,86,62,5\n"3463",2020-03-26,20.74,192,63,5\n"3464",2020-03-22,21.01,643,64,5\n"3465",2020-03-14,20.4,593,65,5\n"3466",2020-03-18,21.49,614,66,5\n"3467",2020-03-21,21.03,283,67,5\n"3468",2020-03-06,20.38,507,68,5\n"3469",2020-03-25,21.48,451,69,5\n"3470",2020-03-07,21.8,181,70,5\n"3471",2020-03-14,20.41,277,71,5\n"3472",2020-03-12,21.05,123,72,5\n"3473",2020-03-10,21.14,317,73,5\n"3474",2020-03-25,20.34,103,74,5\n"3475",2020-03-18,20.85,199,75,5\n"3476",2020-03-13,22.52,660,76,5\n"3477",2020-03-07,21.67,1080,77,5\n"3478",2020-03-21,20.96,478,78,5\n"3479",2020-03-18,22.24,429,79,5\n"3480",2020-03-22,20.94,354,80,5\n"3481",2020-03-27,20.83,320,81,5\n"3482",2020-03-28,21.94,271,82,5\n"3483",2020-03-17,20.95,635,83,5\n"3484",2020-03-03,21.72,642,84,5\n"3485",2020-03-08,20.3,346,85,5\n"3486",2020-03-08,20.23,491,86,5\n"3487",2020-03-31,21.08,214,87,5\n"3488",2020-03-03,21.38,303,88,5\n"3489",2020-03-07,21.24,278,89,5\n"3490",2020-03-06,21.03,809,90,5\n"3491",2020-03-18,21.32,381,91,5\n"3492",2020-03-09,20.58,355,92,5\n"3493",2020-03-28,21.43,563,93,5\n"3494",2020-03-11,21.15,501,94,5\n"3495",2020-03-30,21.2,457,95,5\n"3496",2020-03-14,20.93,243,96,5\n"3497",2020-03-05,20.86,354,97,5\n"3498",2020-03-25,21.72,898,98,5\n"3499",2020-03-19,21.54,289,99,5\n"3500",2020-03-06,20.92,361,100,5\n"3501",2020-03-24,20.76,458,1,6\n"3502",2020-03-28,21.87,418,2,6\n"3503",2020-03-03,20.61,147,3,6\n"3504",2020-03-24,20.93,423,4,6\n"3505",2020-03-26,21.4,197,5,6\n"3506",2020-03-29,20.39,253,6,6\n"3507",2020-03-24,22.08,464,7,6\n"3508",2020-03-10,19.75,548,8,6\n"3509",2020-03-23,21.03,175,9,6\n"3510",2020-03-03,20.7,949,10,6\n"3511",2020-03-14,21.39,415,11,6\n"3512",2020-03-02,21.62,604,12,6\n"3513",2020-03-22,19.81,241,13,6\n"3514",2020-03-14,21.35,868,14,6\n"3515",2020-03-28,20.32,306,15,6\n"3516",2020-03-13,21.31,552,16,6\n"3517",2020-03-07,20.91,393,17,6\n"3518",2020-03-27,19.86,239,18,6\n"3519",2020-03-15,22.59,418,19,6\n"3520",2020-03-31,21.72,460,20,6\n"3521",2020-03-30,20.74,359,21,6\n"3522",2020-03-30,20.18,374,22,6\n"3523",2020-03-26,21.21,564,23,6\n"3524",2020-03-12,20.61,323,24,6\n"3525",2020-03-29,21.04,228,25,6\n"3526",2020-03-09,21.71,278,26,6\n"3527",2020-03-29,21.87,476,27,6\n"3528",2020-03-03,21.45,124,28,6\n"3529",2020-03-01,20.78,601,29,6\n"3530",2020-03-28,21.77,763,30,6\n"3531",2020-03-17,20.53,247,31,6\n"3532",2020-03-07,20.8,947,32,6\n"3533",2020-03-10,20.55,701,33,6\n"3534",2020-03-29,21.12,654,34,6\n"3535",2020-03-27,20.9,774,35,6\n"3536",2020-03-30,20.19,227,36,6\n"3537",2020-03-12,20.58,675,37,6\n"3538",2020-03-28,21.01,332,38,6\n"3539",2020-03-06,20.38,389,39,6\n"3540",2020-03-24,20.69,305,40,6\n"3541",2020-03-24,21.63,239,41,6\n"3542",2020-03-26,21.18,263,42,6\n"3543",2020-03-31,22.29,411,43,6\n"3544",2020-03-14,21.12,560,44,6\n"3545",2020-03-03,21.23,386,45,6\n"3546",2020-03-08,21.26,279,46,6\n"3547",2020-03-19,21.74,452,47,6\n"3548",2020-03-11,21.11,189,48,6\n"3549",2020-03-14,21.18,628,49,6\n"3550",2020-03-31,20.48,298,50,6\n"3551",2020-03-09,21.59,185,51,6\n"3552",2020-03-08,20.96,274,52,6\n"3553",2020-03-30,21.53,249,53,6\n"3554",2020-03-31,20.09,378,54,6\n"3555",2020-03-15,20.9,157,55,6\n"3556",2020-03-17,20.32,391,56,6\n"3557",2020-03-17,20.71,319,57,6\n"3558",2020-03-22,20.32,504,58,6\n"3559",2020-03-29,20.7,239,59,6\n"3560",2020-03-22,21.67,225,60,6\n"3561",2020-03-26,20.67,184,61,6\n"3562",2020-03-02,20.95,370,62,6\n"3563",2020-03-26,21.14,460,63,6\n"3564",2020-03-22,21.75,598,64,6\n"3565",2020-03-14,21.08,420,65,6\n"3566",2020-03-18,20.92,278,66,6\n"3567",2020-03-21,21.26,406,67,6\n"3568",2020-03-06,21.94,123,68,6\n"3569",2020-03-25,20.69,385,69,6\n"3570",2020-03-07,20.18,429,70,6\n"3571",2020-03-14,20.66,337,71,6\n"3572",2020-03-12,19.63,231,72,6\n"3573",2020-03-10,21.07,177,73,6\n"3574",2020-03-25,20.73,1039,74,6\n"3575",2020-03-18,21.53,389,75,6\n"3576",2020-03-13,20.41,555,76,6\n"3577",2020-03-07,20.15,282,77,6\n"3578",2020-03-21,21.29,371,78,6\n"3579",2020-03-18,20.02,347,79,6\n"3580",2020-03-22,20.97,381,80,6\n"3581",2020-03-27,21.18,194,81,6\n"3582",2020-03-28,21.5,442,82,6\n"3583",2020-03-17,19.44,268,83,6\n"3584",2020-03-03,19.94,270,84,6\n"3585",2020-03-08,21.11,357,85,6\n"3586",2020-03-08,20.86,594,86,6\n"3587",2020-03-31,21.54,421,87,6\n"3588",2020-03-03,21.2,86,88,6\n"3589",2020-03-07,20.28,168,89,6\n"3590",2020-03-06,20.46,233,90,6\n"3591",2020-03-18,20.88,745,91,6\n"3592",2020-03-09,22.1,481,92,6\n"3593",2020-03-28,20.28,325,93,6\n"3594",2020-03-11,21.12,440,94,6\n"3595",2020-03-30,20.61,279,95,6\n"3596",2020-03-14,21.62,438,96,6\n"3597",2020-03-05,21.97,350,97,6\n"3598",2020-03-25,21.05,474,98,6\n"3599",2020-03-19,20.05,632,99,6\n"3600",2020-03-06,21.56,635,100,6\n"3601",2020-03-24,21.82,406,1,7\n"3602",2020-03-28,21.14,219,2,7\n"3603",2020-03-03,20.02,488,3,7\n"3604",2020-03-24,19.58,428,4,7\n"3605",2020-03-26,21.28,324,5,7\n"3606",2020-03-29,20.52,305,6,7\n"3607",2020-03-24,21.15,619,7,7\n"3608",2020-03-10,21.73,612,8,7\n"3609",2020-03-23,21.42,379,9,7\n"3610",2020-03-03,21.21,579,10,7\n"3611",2020-03-14,20.68,511,11,7\n"3612",2020-03-02,21.4,345,12,7\n"3613",2020-03-22,21.41,256,13,7\n"3614",2020-03-14,20.69,232,14,7\n"3615",2020-03-28,21.55,440,15,7\n"3616",2020-03-13,21.34,282,16,7\n"3617",2020-03-07,21.37,415,17,7\n"3618",2020-03-27,21.16,1154,18,7\n"3619",2020-03-15,21.99,291,19,7\n"3620",2020-03-31,20.48,513,20,7\n"3621",2020-03-30,21.13,680,21,7\n"3622",2020-03-30,21.28,248,22,7\n"3623",2020-03-26,21.09,282,23,7\n"3624",2020-03-12,20.72,271,24,7\n"3625",2020-03-29,21.86,486,25,7\n"3626",2020-03-09,21.43,112,26,7\n"3627",2020-03-29,21.59,485,27,7\n"3628",2020-03-03,19.66,420,28,7\n"3629",2020-03-01,20.13,466,29,7\n"3630",2020-03-28,20.5,374,30,7\n"3631",2020-03-17,21.42,290,31,7\n"3632",2020-03-07,20.61,216,32,7\n"3633",2020-03-10,21.73,497,33,7\n"3634",2020-03-29,21.71,201,34,7\n"3635",2020-03-27,21.81,200,35,7\n"3636",2020-03-30,21.25,217,36,7\n"3637",2020-03-12,22.03,648,37,7\n"3638",2020-03-28,20.36,328,38,7\n"3639",2020-03-06,20.7,304,39,7\n"3640",2020-03-24,22.16,839,40,7\n"3641",2020-03-24,20.62,364,41,7\n"3642",2020-03-26,20.74,187,42,7\n"3643",2020-03-31,20.87,175,43,7\n"3644",2020-03-14,21.53,594,44,7\n"3645",2020-03-03,21.45,308,45,7\n"3646",2020-03-08,20.76,569,46,7\n"3647",2020-03-19,21.32,235,47,7\n"3648",2020-03-11,20.77,623,48,7\n"3649",2020-03-14,21.8,307,49,7\n"3650",2020-03-31,20.76,277,50,7\n"3651",2020-03-09,21.29,180,51,7\n"3652",2020-03-08,20.79,659,52,7\n"3653",2020-03-30,21.93,337,53,7\n"3654",2020-03-31,21.19,531,54,7\n"3655",2020-03-15,21.39,260,55,7\n"3656",2020-03-17,21.27,263,56,7\n"3657",2020-03-17,21.21,414,57,7\n"3658",2020-03-22,21.57,541,58,7\n"3659",2020-03-29,22.38,248,59,7\n"3660",2020-03-22,21.58,431,60,7\n"3661",2020-03-26,20.45,599,61,7\n"3662",2020-03-02,21.24,411,62,7\n"3663",2020-03-26,20.58,362,63,7\n"3664",2020-03-22,21.91,337,64,7\n"3665",2020-03-14,21.77,1154,65,7\n"3666",2020-03-18,21.44,405,66,7\n"3667",2020-03-21,21.96,262,67,7\n"3668",2020-03-06,20.7,121,68,7\n"3669",2020-03-25,21.34,480,69,7\n"3670",2020-03-07,20.92,599,70,7\n"3671",2020-03-14,20.75,459,71,7\n"3672",2020-03-12,20.58,534,72,7\n"3673",2020-03-10,21.34,999,73,7\n"3674",2020-03-25,21.01,582,74,7\n"3675",2020-03-18,21.32,149,75,7\n"3676",2020-03-13,20.76,334,76,7\n"3677",2020-03-07,21.47,417,77,7\n"3678",2020-03-21,20.47,245,78,7\n"3679",2020-03-18,20.68,378,79,7\n"3680",2020-03-22,20.86,179,80,7\n"3681",2020-03-27,22,433,81,7\n"3682",2020-03-28,21.06,277,82,7\n"3683",2020-03-17,21.1,632,83,7\n"3684",2020-03-03,21.03,403,84,7\n"3685",2020-03-08,20.89,447,85,7\n"3686",2020-03-08,21.73,270,86,7\n"3687",2020-03-31,21.19,355,87,7\n"3688",2020-03-03,21,253,88,7\n"3689",2020-03-07,21.52,199,89,7\n"3690",2020-03-06,20.81,244,90,7\n"3691",2020-03-18,20.53,408,91,7\n"3692",2020-03-09,22.45,206,92,7\n"3693",2020-03-28,20.56,539,93,7\n"3694",2020-03-11,20.68,306,94,7\n"3695",2020-03-30,21.08,440,95,7\n"3696",2020-03-14,20.93,263,96,7\n"3697",2020-03-05,22.02,147,97,7\n"3698",2020-03-25,21.68,276,98,7\n"3699",2020-03-19,20.74,327,99,7\n"3700",2020-03-06,22.13,384,100,7\n"3701",2020-03-24,21.41,416,1,8\n"3702",2020-03-28,21.61,379,2,8\n"3703",2020-03-03,21.16,492,3,8\n"3704",2020-03-24,20.55,260,4,8\n"3705",2020-03-26,20.32,594,5,8\n"3706",2020-03-29,21,286,6,8\n"3707",2020-03-24,21.13,1242,7,8\n"3708",2020-03-10,21.59,279,8,8\n"3709",2020-03-23,21.19,534,9,8\n"3710",2020-03-03,21.42,292,10,8\n"3711",2020-03-14,20.44,464,11,8\n"3712",2020-03-02,20.23,686,12,8\n"3713",2020-03-22,20.68,230,13,8\n"3714",2020-03-14,21.27,270,14,8\n"3715",2020-03-28,20.61,661,15,8\n"3716",2020-03-13,19.78,471,16,8\n"3717",2020-03-07,21.06,183,17,8\n"3718",2020-03-27,21.02,321,18,8\n"3719",2020-03-15,20.75,123,19,8\n"3720",2020-03-31,22.46,530,20,8\n"3721",2020-03-30,21.03,395,21,8\n"3722",2020-03-30,21.31,293,22,8\n"3723",2020-03-26,20.78,347,23,8\n"3724",2020-03-12,20.75,558,24,8\n"3725",2020-03-29,21.59,449,25,8\n"3726",2020-03-09,20.47,523,26,8\n"3727",2020-03-29,21.18,1475,27,8\n"3728",2020-03-03,21.71,422,28,8\n"3729",2020-03-01,20.9,247,29,8\n"3730",2020-03-28,20.29,318,30,8\n"3731",2020-03-17,22.07,871,31,8\n"3732",2020-03-07,21.54,282,32,8\n"3733",2020-03-10,20.43,397,33,8\n"3734",2020-03-29,20.89,251,34,8\n"3735",2020-03-27,21.19,548,35,8\n"3736",2020-03-30,20.48,193,36,8\n"3737",2020-03-12,21.07,802,37,8\n"3738",2020-03-28,20.44,461,38,8\n"3739",2020-03-06,21.04,296,39,8\n"3740",2020-03-24,20.08,182,40,8\n"3741",2020-03-24,21,272,41,8\n"3742",2020-03-26,20.49,357,42,8\n"3743",2020-03-31,20.11,335,43,8\n"3744",2020-03-14,21.57,375,44,8\n"3745",2020-03-03,21.21,338,45,8\n"3746",2020-03-08,21.89,269,46,8\n"3747",2020-03-19,20.73,208,47,8\n"3748",2020-03-11,20.89,122,48,8\n"3749",2020-03-14,21.22,358,49,8\n"3750",2020-03-31,20.9,378,50,8\n"3751",2020-03-09,20.8,290,51,8\n"3752",2020-03-08,21.34,521,52,8\n"3753",2020-03-30,21.19,338,53,8\n"3754",2020-03-31,20.36,309,54,8\n"3755",2020-03-15,21.63,389,55,8\n"3756",2020-03-17,20.53,257,56,8\n"3757",2020-03-17,21.66,351,57,8\n"3758",2020-03-22,21.04,346,58,8\n"3759",2020-03-29,21.43,440,59,8\n"3760",2020-03-22,20.42,226,60,8\n"3761",2020-03-26,21.65,283,61,8\n"3762",2020-03-02,21.18,558,62,8\n"3763",2020-03-26,21.05,415,63,8\n"3764",2020-03-22,21.26,564,64,8\n"3765",2020-03-14,20.68,1198,65,8\n"3766",2020-03-18,21.34,404,66,8\n"3767",2020-03-21,21.49,274,67,8\n"3768",2020-03-06,21.69,395,68,8\n"3769",2020-03-25,19.58,284,69,8\n"3770",2020-03-07,20.28,392,70,8\n"3771",2020-03-14,21.29,269,71,8\n"3772",2020-03-12,20.68,378,72,8\n"3773",2020-03-10,21.33,366,73,8\n"3774",2020-03-25,21.45,569,74,8\n"3775",2020-03-18,21.17,1344,75,8\n"3776",2020-03-13,20.76,310,76,8\n"3777",2020-03-07,20.34,146,77,8\n"3778",2020-03-21,20.63,1822,78,8\n"3779",2020-03-18,21.42,516,79,8\n"3780",2020-03-22,20.5,764,80,8\n"3781",2020-03-27,21.45,427,81,8\n"3782",2020-03-28,20.92,204,82,8\n"3783",2020-03-17,20.31,680,83,8\n"3784",2020-03-03,20.54,732,84,8\n"3785",2020-03-08,21.42,174,85,8\n"3786",2020-03-08,20.87,300,86,8\n"3787",2020-03-31,20.54,279,87,8\n"3788",2020-03-03,19.83,270,88,8\n"3789",2020-03-07,20.96,375,89,8\n"3790",2020-03-06,20.66,236,90,8\n"3791",2020-03-18,20.66,479,91,8\n"3792",2020-03-09,20.18,332,92,8\n"3793",2020-03-28,21.34,317,93,8\n"3794",2020-03-11,21.41,225,94,8\n"3795",2020-03-30,21.43,973,95,8\n"3796",2020-03-14,21.43,202,96,8\n"3797",2020-03-05,22.22,479,97,8\n"3798",2020-03-25,20.17,360,98,8\n"3799",2020-03-19,20.85,1145,99,8\n"3800",2020-03-06,21.27,405,100,8\n"3801",2020-03-24,21.87,410,1,9\n"3802",2020-03-28,21.26,333,2,9\n"3803",2020-03-03,21.22,368,3,9\n"3804",2020-03-24,21.45,753,4,9\n"3805",2020-03-26,21.4,432,5,9\n"3806",2020-03-29,20.93,518,6,9\n"3807",2020-03-24,20.34,968,7,9\n"3808",2020-03-10,20.93,961,8,9\n"3809",2020-03-23,21.81,95,9,9\n"3810",2020-03-03,20.6,456,10,9\n"3811",2020-03-14,20.15,381,11,9\n"3812",2020-03-02,20.13,488,12,9\n"3813",2020-03-22,20.65,1256,13,9\n"3814",2020-03-14,20.6,647,14,9\n"3815",2020-03-28,20.59,673,15,9\n"3816",2020-03-13,21.06,257,16,9\n"3817",2020-03-07,22.13,646,17,9\n"3818",2020-03-27,20.6,359,18,9\n"3819",2020-03-15,21.51,811,19,9\n"3820",2020-03-31,21.91,417,20,9\n"3821",2020-03-30,21.17,416,21,9\n"3822",2020-03-30,20.38,77,22,9\n"3823",2020-03-26,20.76,403,23,9\n"3824",2020-03-12,22.02,709,24,9\n"3825",2020-03-29,22.07,160,25,9\n"3826",2020-03-09,20.81,401,26,9\n"3827",2020-03-29,20.94,216,27,9\n"3828",2020-03-03,20.95,471,28,9\n"3829",2020-03-01,20.78,250,29,9\n"3830",2020-03-28,20.69,200,30,9\n"3831",2020-03-17,21.14,1022,31,9\n"3832",2020-03-07,21.45,541,32,9\n"3833",2020-03-10,20.24,655,33,9\n"3834",2020-03-29,19.7,747,34,9\n"3835",2020-03-27,20.46,310,35,9\n"3836",2020-03-30,21.05,218,36,9\n"3837",2020-03-12,20.79,265,37,9\n"3838",2020-03-28,19.91,334,38,9\n"3839",2020-03-06,20.75,85,39,9\n"3840",2020-03-24,21.38,195,40,9\n"3841",2020-03-24,21.97,262,41,9\n"3842",2020-03-26,21.39,129,42,9\n"3843",2020-03-31,20.08,346,43,9\n"3844",2020-03-14,20.43,296,44,9\n"3845",2020-03-03,20.85,427,45,9\n"3846",2020-03-08,21.26,748,46,9\n"3847",2020-03-19,21.87,142,47,9\n"3848",2020-03-11,21.43,214,48,9\n"3849",2020-03-14,20.45,849,49,9\n"3850",2020-03-31,20.7,144,50,9\n"3851",2020-03-09,21.42,451,51,9\n"3852",2020-03-08,21.18,339,52,9\n"3853",2020-03-30,22,272,53,9\n"3854",2020-03-31,19.99,350,54,9\n"3855",2020-03-15,21.7,1410,55,9\n"3856",2020-03-17,20.56,285,56,9\n"3857",2020-03-17,21.35,127,57,9\n"3858",2020-03-22,21.41,339,58,9\n"3859",2020-03-29,20.48,301,59,9\n"3860",2020-03-22,21.16,465,60,9\n"3861",2020-03-26,20.98,841,61,9\n"3862",2020-03-02,21.45,537,62,9\n"3863",2020-03-26,20.85,493,63,9\n"3864",2020-03-22,21.34,173,64,9\n"3865",2020-03-14,21.37,360,65,9\n"3866",2020-03-18,21.33,432,66,9\n"3867",2020-03-21,20.39,580,67,9\n"3868",2020-03-06,20.62,450,68,9\n"3869",2020-03-25,21.04,245,69,9\n"3870",2020-03-07,20.39,240,70,9\n"3871",2020-03-14,20.75,314,71,9\n"3872",2020-03-12,20.7,363,72,9\n"3873",2020-03-10,20.61,293,73,9\n"3874",2020-03-25,20.56,268,74,9\n"3875",2020-03-18,20.65,611,75,9\n"3876",2020-03-13,20.83,151,76,9\n"3877",2020-03-07,21.55,565,77,9\n"3878",2020-03-21,21.34,333,78,9\n"3879",2020-03-18,21.96,340,79,9\n"3880",2020-03-22,20.55,304,80,9\n"3881",2020-03-27,21.76,139,81,9\n"3882",2020-03-28,22.43,410,82,9\n"3883",2020-03-17,20.94,544,83,9\n"3884",2020-03-03,21.9,148,84,9\n"3885",2020-03-08,20.89,274,85,9\n"3886",2020-03-08,20.61,542,86,9\n"3887",2020-03-31,19.56,310,87,9\n"3888",2020-03-03,21.2,162,88,9\n"3889",2020-03-07,20.88,321,89,9\n"3890",2020-03-06,19.9,260,90,9\n"3891",2020-03-18,21.8,219,91,9\n"3892",2020-03-09,20.69,336,92,9\n"3893",2020-03-28,20.91,161,93,9\n"3894",2020-03-11,22.01,383,94,9\n"3895",2020-03-30,20.22,419,95,9\n"3896",2020-03-14,21.14,514,96,9\n"3897",2020-03-05,21.99,442,97,9\n"3898",2020-03-25,20.99,351,98,9\n"3899",2020-03-19,21.04,260,99,9\n"3900",2020-03-06,21.09,280,100,9\n"3901",2020-03-24,20.89,151,1,10\n"3902",2020-03-28,21.94,601,2,10\n"3903",2020-03-03,20.64,330,3,10\n"3904",2020-03-24,21.11,292,4,10\n"3905",2020-03-26,22.57,183,5,10\n"3906",2020-03-29,21.52,644,6,10\n"3907",2020-03-24,21.4,437,7,10\n"3908",2020-03-10,20.68,616,8,10\n"3909",2020-03-23,21.05,173,9,10\n"3910",2020-03-03,21.14,301,10,10\n"3911",2020-03-14,21.19,277,11,10\n"3912",2020-03-02,21.28,186,12,10\n"3913",2020-03-22,21.26,234,13,10\n"3914",2020-03-14,21.93,484,14,10\n"3915",2020-03-28,21.53,255,15,10\n"3916",2020-03-13,20.47,147,16,10\n"3917",2020-03-07,20.54,431,17,10\n"3918",2020-03-27,21.43,382,18,10\n"3919",2020-03-15,21.7,492,19,10\n"3920",2020-03-31,20.47,394,20,10\n"3921",2020-03-30,22.29,329,21,10\n"3922",2020-03-30,20.77,329,22,10\n"3923",2020-03-26,19.88,365,23,10\n"3924",2020-03-12,21.17,138,24,10\n"3925",2020-03-29,20.97,365,25,10\n"3926",2020-03-09,21.2,412,26,10\n"3927",2020-03-29,21.98,600,27,10\n"3928",2020-03-03,21.71,331,28,10\n"3929",2020-03-01,21.65,447,29,10\n"3930",2020-03-28,20.99,169,30,10\n"3931",2020-03-17,22.46,331,31,10\n"3932",2020-03-07,20.62,330,32,10\n"3933",2020-03-10,20.57,279,33,10\n"3934",2020-03-29,21.57,481,34,10\n"3935",2020-03-27,21.22,193,35,10\n"3936",2020-03-30,20.56,753,36,10\n"3937",2020-03-12,21.16,756,37,10\n"3938",2020-03-28,21.21,231,38,10\n"3939",2020-03-06,21.76,706,39,10\n"3940",2020-03-24,20.5,128,40,10\n"3941",2020-03-24,22.12,527,41,10\n"3942",2020-03-26,20.75,659,42,10\n"3943",2020-03-31,21.3,772,43,10\n"3944",2020-03-14,21.37,205,44,10\n"3945",2020-03-03,21.98,230,45,10\n"3946",2020-03-08,21.13,258,46,10\n"3947",2020-03-19,20.13,281,47,10\n"3948",2020-03-11,20.7,644,48,10\n"3949",2020-03-14,21.79,326,49,10\n"3950",2020-03-31,21.44,298,50,10\n"3951",2020-03-09,21.52,1164,51,10\n"3952",2020-03-08,20.56,178,52,10\n"3953",2020-03-30,20.44,401,53,10\n"3954",2020-03-31,20.8,707,54,10\n"3955",2020-03-15,20.71,446,55,10\n"3956",2020-03-17,20.92,271,56,10\n"3957",2020-03-17,21.34,682,57,10\n"3958",2020-03-22,21.91,471,58,10\n"3959",2020-03-29,21.87,180,59,10\n"3960",2020-03-22,21.46,78,60,10\n"3961",2020-03-26,19.99,767,61,10\n"3962",2020-03-02,22.18,131,62,10\n"3963",2020-03-26,20.42,122,63,10\n"3964",2020-03-22,21.27,634,64,10\n"3965",2020-03-14,22,282,65,10\n"3966",2020-03-18,20.32,519,66,10\n"3967",2020-03-21,20.82,209,67,10\n"3968",2020-03-06,20.25,362,68,10\n"3969",2020-03-25,20.61,497,69,10\n"3970",2020-03-07,21.63,823,70,10\n"3971",2020-03-14,21.47,389,71,10\n"3972",2020-03-12,20.63,535,72,10\n"3973",2020-03-10,20.85,216,73,10\n"3974",2020-03-25,20.62,464,74,10\n"3975",2020-03-18,21.06,361,75,10\n"3976",2020-03-13,21.33,281,76,10\n"3977",2020-03-07,20.67,272,77,10\n"3978",2020-03-21,21.76,279,78,10\n"3979",2020-03-18,21.54,254,79,10\n"3980",2020-03-22,21.66,236,80,10\n"3981",2020-03-27,20.46,132,81,10\n"3982",2020-03-28,20.39,376,82,10\n"3983",2020-03-17,20.68,138,83,10\n"3984",2020-03-03,20.9,767,84,10\n"3985",2020-03-08,19.99,154,85,10\n"3986",2020-03-08,21.59,410,86,10\n"3987",2020-03-31,21.01,559,87,10\n"3988",2020-03-03,20.94,269,88,10\n"3989",2020-03-07,20.47,659,89,10\n"3990",2020-03-06,20.69,672,90,10\n"3991",2020-03-18,22.33,676,91,10\n"3992",2020-03-09,20.51,332,92,10\n"3993",2020-03-28,22.35,497,93,10\n"3994",2020-03-11,20.15,304,94,10\n"3995",2020-03-30,20.39,578,95,10\n"3996",2020-03-14,20.61,475,96,10\n"3997",2020-03-05,21.27,146,97,10\n"3998",2020-03-25,21.52,843,98,10\n"3999",2020-03-19,21.77,226,99,10\n"4000",2020-03-06,21.38,195,100,10\n"4001",2020-04-16,20.13,710,1,1\n"4002",2020-04-22,19.8,466,2,1\n"4003",2020-04-17,20.5,373,3,1\n"4004",2020-04-24,20.5,270,4,1\n"4005",2020-04-30,21.44,364,5,1\n"4006",2020-04-29,19.82,101,6,1\n"4007",2020-04-16,20.38,954,7,1\n"4008",2020-04-12,20.45,526,8,1\n"4009",2020-04-12,20.12,345,9,1\n"4010",2020-04-04,19.83,605,10,1\n"4011",2020-04-07,19.53,539,11,1\n"4012",2020-04-13,20.31,382,12,1\n"4013",2020-04-27,20.54,166,13,1\n"4014",2020-04-26,20.95,960,14,1\n"4015",2020-04-01,20.16,336,15,1\n"4016",2020-04-21,19.39,455,16,1\n"4017",2020-04-11,20.23,312,17,1\n"4018",2020-04-13,20.69,245,18,1\n"4019",2020-04-15,19.71,419,19,1\n"4020",2020-04-17,20.91,659,20,1\n"4021",2020-04-25,21.73,253,21,1\n"4022",2020-04-21,20.39,698,22,1\n"4023",2020-04-17,19.9,297,23,1\n"4024",2020-04-29,21.14,339,24,1\n"4025",2020-04-28,19.95,344,25,1\n"4026",2020-04-25,20.16,486,26,1\n"4027",2020-04-14,21.2,663,27,1\n"4028",2020-04-19,20.68,288,28,1\n"4029",2020-04-23,20.59,1020,29,1\n"4030",2020-04-18,18.8,483,30,1\n"4031",2020-04-12,19.18,470,31,1\n"4032",2020-04-30,20.2,432,32,1\n"4033",2020-04-19,20.98,534,33,1\n"4034",2020-04-11,20.72,238,34,1\n"4035",2020-04-17,20.9,223,35,1\n"4036",2020-04-28,21.75,483,36,1\n"4037",2020-04-11,19.56,806,37,1\n"4038",2020-04-29,20.56,362,38,1\n"4039",2020-04-23,20.16,428,39,1\n"4040",2020-04-19,20.33,495,40,1\n"4041",2020-04-10,19.34,761,41,1\n"4042",2020-04-25,20.38,376,42,1\n"4043",2020-04-27,20.53,593,43,1\n"4044",2020-04-16,20.61,412,44,1\n"4045",2020-04-07,20.44,418,45,1\n"4046",2020-04-13,20.03,644,46,1\n"4047",2020-04-24,20.47,343,47,1\n"4048",2020-04-06,20.29,497,48,1\n"4049",2020-04-20,21.17,257,49,1\n"4050",2020-04-17,19.49,711,50,1\n"4051",2020-04-17,20.34,423,51,1\n"4052",2020-04-29,19.3,437,52,1\n"4053",2020-04-16,20.23,610,53,1\n"4054",2020-04-19,19.86,413,54,1\n"4055",2020-04-28,20.33,334,55,1\n"4056",2020-04-20,19.71,630,56,1\n"4057",2020-04-28,20.85,815,57,1\n"4058",2020-04-02,19.61,446,58,1\n"4059",2020-04-13,20.5,314,59,1\n"4060",2020-04-01,20.45,226,60,1\n"4061",2020-04-10,19.64,307,61,1\n"4062",2020-04-16,20.11,581,62,1\n"4063",2020-04-03,19.03,236,63,1\n"4064",2020-04-25,19.46,578,64,1\n"4065",2020-04-16,19.34,307,65,1\n"4066",2020-04-22,19.46,370,66,1\n"4067",2020-04-17,20.51,658,67,1\n"4068",2020-04-17,20.28,310,68,1\n"4069",2020-04-25,20.72,848,69,1\n"4070",2020-04-02,20.44,957,70,1\n"4071",2020-04-10,20.2,287,71,1\n"4072",2020-04-03,20.7,246,72,1\n"4073",2020-04-15,21.48,782,73,1\n"4074",2020-04-05,20.91,410,74,1\n"4075",2020-04-01,19.37,277,75,1\n"4076",2020-04-12,20.87,845,76,1\n"4077",2020-04-26,19.94,489,77,1\n"4078",2020-04-21,21.14,487,78,1\n"4079",2020-04-08,19.74,346,79,1\n"4080",2020-04-13,20.82,1014,80,1\n"4081",2020-04-27,21.16,377,81,1\n"4082",2020-04-23,20.36,464,82,1\n"4083",2020-04-21,19.95,348,83,1\n"4084",2020-04-03,22.4,504,84,1\n"4085",2020-04-03,19.8,266,85,1\n"4086",2020-04-28,20.23,682,86,1\n"4087",2020-04-27,19.79,334,87,1\n"4088",2020-04-23,20.42,614,88,1\n"4089",2020-04-02,19.86,291,89,1\n"4090",2020-04-03,20.58,438,90,1\n"4091",2020-04-09,20.03,511,91,1\n"4092",2020-04-06,19.62,732,92,1\n"4093",2020-04-29,19.9,593,93,1\n"4094",2020-04-01,21.41,459,94,1\n"4095",2020-04-17,20.08,619,95,1\n"4096",2020-04-07,19.72,683,96,1\n"4097",2020-04-01,21.75,701,97,1\n"4098",2020-04-04,20.11,377,98,1\n"4099",2020-04-09,20.86,691,99,1\n"4100",2020-04-23,21.22,947,100,1\n"4101",2020-04-16,21.5,1227,1,2\n"4102",2020-04-22,19.68,281,2,2\n"4103",2020-04-17,19.52,176,3,2\n"4104",2020-04-24,20.02,391,4,2\n"4105",2020-04-30,21.83,625,5,2\n"4106",2020-04-29,20.47,297,6,2\n"4107",2020-04-16,19.49,225,7,2\n"4108",2020-04-12,20.29,477,8,2\n"4109",2020-04-12,20.49,263,9,2\n"4110",2020-04-04,19.99,300,10,2\n"4111",2020-04-07,20.16,366,11,2\n"4112",2020-04-13,20.95,468,12,2\n"4113",2020-04-27,19.91,663,13,2\n"4114",2020-04-26,19.25,392,14,2\n"4115",2020-04-01,19.4,393,15,2\n"4116",2020-04-21,19.5,503,16,2\n"4117",2020-04-11,20.92,366,17,2\n"4118",2020-04-13,21.08,372,18,2\n"4119",2020-04-15,21.38,712,19,2\n"4120",2020-04-17,20.53,310,20,2\n"4121",2020-04-25,19.64,319,21,2\n"4122",2020-04-21,20.21,495,22,2\n"4123",2020-04-17,19.46,394,23,2\n"4124",2020-04-29,21.1,326,24,2\n"4125",2020-04-28,20.56,444,25,2\n"4126",2020-04-25,20.26,646,26,2\n"4127",2020-04-14,19.86,211,27,2\n"4128",2020-04-19,20.17,762,28,2\n"4129",2020-04-23,20.32,534,29,2\n"4130",2020-04-18,20.45,267,30,2\n"4131",2020-04-12,19.87,436,31,2\n"4132",2020-04-30,19.45,874,32,2\n"4133",2020-04-19,21.27,208,33,2\n"4134",2020-04-11,20.47,435,34,2\n"4135",2020-04-17,20.42,462,35,2\n"4136",2020-04-28,20.28,544,36,2\n"4137",2020-04-11,20.45,608,37,2\n"4138",2020-04-29,19.99,328,38,2\n"4139",2020-04-23,19.58,338,39,2\n"4140",2020-04-19,20.67,215,40,2\n"4141",2020-04-10,19.27,336,41,2\n"4142",2020-04-25,20.77,427,42,2\n"4143",2020-04-27,21.17,235,43,2\n"4144",2020-04-16,20.6,808,44,2\n"4145",2020-04-07,19.79,369,45,2\n"4146",2020-04-13,20.18,738,46,2\n"4147",2020-04-24,19.95,406,47,2\n"4148",2020-04-06,20.46,477,48,2\n"4149",2020-04-20,21.14,333,49,2\n"4150",2020-04-17,20.16,362,50,2\n"4151",2020-04-17,20.09,433,51,2\n"4152",2020-04-29,20.72,895,52,2\n"4153",2020-04-16,20.13,834,53,2\n"4154",2020-04-19,19.3,339,54,2\n"4155",2020-04-28,20.36,814,55,2\n"4156",2020-04-20,20.41,509,56,2\n"4157",2020-04-28,19.58,532,57,2\n"4158",2020-04-02,20.44,614,58,2\n"4159",2020-04-13,19.93,290,59,2\n"4160",2020-04-01,20.94,948,60,2\n"4161",2020-04-10,21,417,61,2\n"4162",2020-04-16,20.58,246,62,2\n"4163",2020-04-03,20.15,373,63,2\n"4164",2020-04-25,20.49,289,64,2\n"4165",2020-04-16,20.35,251,65,2\n"4166",2020-04-22,21.44,413,66,2\n"4167",2020-04-17,19.85,528,67,2\n"4168",2020-04-17,20.26,401,68,2\n"4169",2020-04-25,19.81,320,69,2\n"4170",2020-04-02,20.68,672,70,2\n"4171",2020-04-10,19.35,455,71,2\n"4172",2020-04-03,19.38,338,72,2\n"4173",2020-04-15,20.86,315,73,2\n"4174",2020-04-05,20.6,543,74,2\n"4175",2020-04-01,20.48,406,75,2\n"4176",2020-04-12,20.3,850,76,2\n"4177",2020-04-26,20.42,297,77,2\n"4178",2020-04-21,20.05,335,78,2\n"4179",2020-04-08,20.08,805,79,2\n"4180",2020-04-13,20.53,517,80,2\n"4181",2020-04-27,19.42,559,81,2\n"4182",2020-04-23,20.79,357,82,2\n"4183",2020-04-21,19.82,918,83,2\n"4184",2020-04-03,20.77,382,84,2\n"4185",2020-04-03,20.16,1298,85,2\n"4186",2020-04-28,20.88,480,86,2\n"4187",2020-04-27,19.44,891,87,2\n"4188",2020-04-23,21.31,383,88,2\n"4189",2020-04-02,20.6,468,89,2\n"4190",2020-04-03,19.83,273,90,2\n"4191",2020-04-09,21.67,751,91,2\n"4192",2020-04-06,19.12,370,92,2\n"4193",2020-04-29,20.18,315,93,2\n"4194",2020-04-01,19.73,253,94,2\n"4195",2020-04-17,19.87,624,95,2\n"4196",2020-04-07,21.1,506,96,2\n"4197",2020-04-01,19.86,576,97,2\n"4198",2020-04-04,20.65,344,98,2\n"4199",2020-04-09,19.7,734,99,2\n"4200",2020-04-23,20.76,910,100,2\n"4201",2020-04-16,20.14,494,1,3\n"4202",2020-04-22,20.71,646,2,3\n"4203",2020-04-17,20.89,516,3,3\n"4204",2020-04-24,20.66,611,4,3\n"4205",2020-04-30,19.54,990,5,3\n"4206",2020-04-29,19.36,734,6,3\n"4207",2020-04-16,20.9,451,7,3\n"4208",2020-04-12,19.55,280,8,3\n"4209",2020-04-12,20.27,190,9,3\n"4210",2020-04-04,20.33,323,10,3\n"4211",2020-04-07,20,196,11,3\n"4212",2020-04-13,20.47,423,12,3\n"4213",2020-04-27,20.7,970,13,3\n"4214",2020-04-26,19.25,474,14,3\n"4215",2020-04-01,21.03,283,15,3\n"4216",2020-04-21,19.04,403,16,3\n"4217",2020-04-11,20.33,348,17,3\n"4218",2020-04-13,21.41,233,18,3\n"4219",2020-04-15,20.22,542,19,3\n"4220",2020-04-17,21.37,514,20,3\n"4221",2020-04-25,19.86,535,21,3\n"4222",2020-04-21,20.64,317,22,3\n"4223",2020-04-17,19.26,998,23,3\n"4224",2020-04-29,19.96,274,24,3\n"4225",2020-04-28,20.64,238,25,3\n"4226",2020-04-25,20.6,872,26,3\n"4227",2020-04-14,20.92,428,27,3\n"4228",2020-04-19,21.8,486,28,3\n"4229",2020-04-23,20.49,266,29,3\n"4230",2020-04-18,20.33,521,30,3\n"4231",2020-04-12,20.17,179,31,3\n"4232",2020-04-30,20.62,413,32,3\n"4233",2020-04-19,20.3,443,33,3\n"4234",2020-04-11,21.03,279,34,3\n"4235",2020-04-17,21.45,423,35,3\n"4236",2020-04-28,20.06,500,36,3\n"4237",2020-04-11,20.62,588,37,3\n"4238",2020-04-29,20.33,398,38,3\n"4239",2020-04-23,19.93,411,39,3\n"4240",2020-04-19,20.18,344,40,3\n"4241",2020-04-10,19.88,572,41,3\n"4242",2020-04-25,20.34,428,42,3\n"4243",2020-04-27,20.84,354,43,3\n"4244",2020-04-16,20.14,1190,44,3\n"4245",2020-04-07,20.27,373,45,3\n"4246",2020-04-13,20.52,296,46,3\n"4247",2020-04-24,20.15,506,47,3\n"4248",2020-04-06,20.84,414,48,3\n"4249",2020-04-20,19.26,531,49,3\n"4250",2020-04-17,19.62,599,50,3\n"4251",2020-04-17,19.96,333,51,3\n"4252",2020-04-29,20.33,313,52,3\n"4253",2020-04-16,20.12,212,53,3\n"4254",2020-04-19,19.93,634,54,3\n"4255",2020-04-28,21.23,647,55,3\n"4256",2020-04-20,20.53,829,56,3\n"4257",2020-04-28,20.71,740,57,3\n"4258",2020-04-02,20.4,850,58,3\n"4259",2020-04-13,20.14,407,59,3\n"4260",2020-04-01,20.69,479,60,3\n"4261",2020-04-10,20.12,484,61,3\n"4262",2020-04-16,20.2,303,62,3\n"4263",2020-04-03,20.57,731,63,3\n"4264",2020-04-25,20.53,683,64,3\n"4265",2020-04-16,20.28,434,65,3\n"4266",2020-04-22,20.07,342,66,3\n"4267",2020-04-17,21.44,213,67,3\n"4268",2020-04-17,20.93,716,68,3\n"4269",2020-04-25,20.3,347,69,3\n"4270",2020-04-02,19.95,338,70,3\n"4271",2020-04-10,21.4,491,71,3\n"4272",2020-04-03,19.73,146,72,3\n"4273",2020-04-15,20.5,609,73,3\n"4274",2020-04-05,21.3,460,74,3\n"4275",2020-04-01,20.97,406,75,3\n"4276",2020-04-12,18.96,750,76,3\n"4277",2020-04-26,20.24,678,77,3\n"4278",2020-04-21,20.75,260,78,3\n"4279",2020-04-08,19.73,449,79,3\n"4280",2020-04-13,19.89,652,80,3\n"4281",2020-04-27,20.57,241,81,3\n"4282",2020-04-23,20.06,442,82,3\n"4283",2020-04-21,21.26,662,83,3\n"4284",2020-04-03,21.21,657,84,3\n"4285",2020-04-03,20.04,534,85,3\n"4286",2020-04-28,20.84,639,86,3\n"4287",2020-04-27,19.69,306,87,3\n"4288",2020-04-23,20.99,453,88,3\n"4289",2020-04-02,21.74,301,89,3\n"4290",2020-04-03,20.45,491,90,3\n"4291",2020-04-09,20.23,240,91,3\n"4292",2020-04-06,19.78,331,92,3\n"4293",2020-04-29,20.74,315,93,3\n"4294",2020-04-01,20.86,815,94,3\n"4295",2020-04-17,20.25,231,95,3\n"4296",2020-04-07,20.44,350,96,3\n"4297",2020-04-01,20.1,377,97,3\n"4298",2020-04-04,21.36,396,98,3\n"4299",2020-04-09,19.8,570,99,3\n"4300",2020-04-23,20.54,354,100,3\n"4301",2020-04-16,20.42,451,1,4\n"4302",2020-04-22,20,491,2,4\n"4303",2020-04-17,20.66,312,3,4\n"4304",2020-04-24,21.04,839,4,4\n"4305",2020-04-30,19.34,510,5,4\n"4306",2020-04-29,21.1,893,6,4\n"4307",2020-04-16,20.35,577,7,4\n"4308",2020-04-12,20.42,337,8,4\n"4309",2020-04-12,19.99,515,9,4\n"4310",2020-04-04,20.12,543,10,4\n"4311",2020-04-07,20.02,677,11,4\n"4312",2020-04-13,20.57,578,12,4\n"4313",2020-04-27,19.67,158,13,4\n"4314",2020-04-26,19.7,216,14,4\n"4315",2020-04-01,21.25,268,15,4\n"4316",2020-04-21,19.85,437,16,4\n"4317",2020-04-11,20.54,482,17,4\n"4318",2020-04-13,19.77,440,18,4\n"4319",2020-04-15,21.9,311,19,4\n"4320",2020-04-17,21.2,404,20,4\n"4321",2020-04-25,20.36,484,21,4\n"4322",2020-04-21,19.82,584,22,4\n"4323",2020-04-17,20.41,500,23,4\n"4324",2020-04-29,20.48,1037,24,4\n"4325",2020-04-28,20.89,735,25,4\n"4326",2020-04-25,20.4,195,26,4\n"4327",2020-04-14,20.37,186,27,4\n"4328",2020-04-19,20.08,1014,28,4\n"4329",2020-04-23,21.36,732,29,4\n"4330",2020-04-18,19.88,842,30,4\n"4331",2020-04-12,20.77,349,31,4\n"4332",2020-04-30,20.51,319,32,4\n"4333",2020-04-19,19.83,87,33,4\n"4334",2020-04-11,21.49,280,34,4\n"4335",2020-04-17,19.37,375,35,4\n"4336",2020-04-28,20.8,391,36,4\n"4337",2020-04-11,20.24,453,37,4\n"4338",2020-04-29,20.4,804,38,4\n"4339",2020-04-23,20.11,581,39,4\n"4340",2020-04-19,20.42,387,40,4\n"4341",2020-04-10,20.78,1207,41,4\n"4342",2020-04-25,20.77,226,42,4\n"4343",2020-04-27,20.98,422,43,4\n"4344",2020-04-16,20.24,273,44,4\n"4345",2020-04-07,21.15,255,45,4\n"4346",2020-04-13,20.63,977,46,4\n"4347",2020-04-24,20.48,418,47,4\n"4348",2020-04-06,19.52,270,48,4\n"4349",2020-04-20,20.52,682,49,4\n"4350",2020-04-17,20.28,511,50,4\n"4351",2020-04-17,20.48,157,51,4\n"4352",2020-04-29,20.73,683,52,4\n"4353",2020-04-16,19.85,267,53,4\n"4354",2020-04-19,20.41,392,54,4\n"4355",2020-04-28,20.38,457,55,4\n"4356",2020-04-20,19.46,518,56,4\n"4357",2020-04-28,21.38,582,57,4\n"4358",2020-04-02,20.91,358,58,4\n"4359",2020-04-13,20.08,871,59,4\n"4360",2020-04-01,20.48,445,60,4\n"4361",2020-04-10,20.74,219,61,4\n"4362",2020-04-16,21.23,313,62,4\n"4363",2020-04-03,20.79,362,63,4\n"4364",2020-04-25,19.95,780,64,4\n"4365",2020-04-16,21.18,549,65,4\n"4366",2020-04-22,20.05,648,66,4\n"4367",2020-04-17,19.93,822,67,4\n"4368",2020-04-17,19.55,433,68,4\n"4369",2020-04-25,19.88,481,69,4\n"4370",2020-04-02,20.21,286,70,4\n"4371",2020-04-10,20.43,674,71,4\n"4372",2020-04-03,19.9,464,72,4\n"4373",2020-04-15,19.99,609,73,4\n"4374",2020-04-05,21.02,610,74,4\n"4375",2020-04-01,20.38,638,75,4\n"4376",2020-04-12,19.75,766,76,4\n"4377",2020-04-26,19.98,759,77,4\n"4378",2020-04-21,20.25,394,78,4\n"4379",2020-04-08,20.51,299,79,4\n"4380",2020-04-13,21.25,498,80,4\n"4381",2020-04-27,20.6,672,81,4\n"4382",2020-04-23,21.48,267,82,4\n"4383",2020-04-21,20.61,519,83,4\n"4384",2020-04-03,21.18,380,84,4\n"4385",2020-04-03,20.78,482,85,4\n"4386",2020-04-28,19.91,785,86,4\n"4387",2020-04-27,20.07,484,87,4\n"4388",2020-04-23,20.24,221,88,4\n"4389",2020-04-02,19.09,238,89,4\n"4390",2020-04-03,20.54,295,90,4\n"4391",2020-04-09,19.9,689,91,4\n"4392",2020-04-06,19.55,1262,92,4\n"4393",2020-04-29,21.88,506,93,4\n"4394",2020-04-01,20.52,441,94,4\n"4395",2020-04-17,21.8,331,95,4\n"4396",2020-04-07,19.18,270,96,4\n"4397",2020-04-01,20.53,391,97,4\n"4398",2020-04-04,20.48,785,98,4\n"4399",2020-04-09,20.36,245,99,4\n"4400",2020-04-23,21.25,646,100,4\n"4401",2020-04-16,19.75,367,1,5\n"4402",2020-04-22,20.27,286,2,5\n"4403",2020-04-17,20.64,412,3,5\n"4404",2020-04-24,19.99,365,4,5\n"4405",2020-04-30,20.86,427,5,5\n"4406",2020-04-29,18.9,556,6,5\n"4407",2020-04-16,21.66,404,7,5\n"4408",2020-04-12,20.9,461,8,5\n"4409",2020-04-12,20.32,304,9,5\n"4410",2020-04-04,21.17,263,10,5\n"4411",2020-04-07,20.79,580,11,5\n"4412",2020-04-13,20.93,242,12,5\n"4413",2020-04-27,19.97,108,13,5\n"4414",2020-04-26,20.2,779,14,5\n"4415",2020-04-01,20.18,833,15,5\n"4416",2020-04-21,20.86,561,16,5\n"4417",2020-04-11,20.74,493,17,5\n"4418",2020-04-13,20.82,645,18,5\n"4419",2020-04-15,19.97,307,19,5\n"4420",2020-04-17,21.2,419,20,5\n"4421",2020-04-25,20.67,376,21,5\n"4422",2020-04-21,20.65,815,22,5\n"4423",2020-04-17,19.57,594,23,5\n"4424",2020-04-29,20.9,360,24,5\n"4425",2020-04-28,21.66,228,25,5\n"4426",2020-04-25,20.14,209,26,5\n"4427",2020-04-14,19.79,514,27,5\n"4428",2020-04-19,19.81,376,28,5\n"4429",2020-04-23,18.95,262,29,5\n"4430",2020-04-18,20.91,426,30,5\n"4431",2020-04-12,20.14,388,31,5\n"4432",2020-04-30,20.84,213,32,5\n"4433",2020-04-19,20.06,471,33,5\n"4434",2020-04-11,19.66,328,34,5\n"4435",2020-04-17,20.56,374,35,5\n"4436",2020-04-28,20.01,615,36,5\n"4437",2020-04-11,19.88,759,37,5\n"4438",2020-04-29,19.7,352,38,5\n"4439",2020-04-23,19.25,782,39,5\n"4440",2020-04-19,20.42,318,40,5\n"4441",2020-04-10,21.03,308,41,5\n"4442",2020-04-25,20.34,418,42,5\n"4443",2020-04-27,21.1,698,43,5\n"4444",2020-04-16,20.55,607,44,5\n"4445",2020-04-07,19.57,1115,45,5\n"4446",2020-04-13,20.06,300,46,5\n"4447",2020-04-24,19.66,614,47,5\n"4448",2020-04-06,21.96,504,48,5\n"4449",2020-04-20,19.65,572,49,5\n"4450",2020-04-17,19.98,281,50,5\n"4451",2020-04-17,21.48,256,51,5\n"4452",2020-04-29,21.11,853,52,5\n"4453",2020-04-16,19.41,241,53,5\n"4454",2020-04-19,18.98,251,54,5\n"4455",2020-04-28,20.24,879,55,5\n"4456",2020-04-20,20.23,240,56,5\n"4457",2020-04-28,20.66,501,57,5\n"4458",2020-04-02,20.39,266,58,5\n"4459",2020-04-13,20.89,604,59,5\n"4460",2020-04-01,21.66,393,60,5\n"4461",2020-04-10,21.47,171,61,5\n"4462",2020-04-16,20.18,445,62,5\n"4463",2020-04-03,20.67,503,63,5\n"4464",2020-04-25,20.85,470,64,5\n"4465",2020-04-16,20.1,358,65,5\n"4466",2020-04-22,20.05,534,66,5\n"4467",2020-04-17,21.07,786,67,5\n"4468",2020-04-17,19.52,524,68,5\n"4469",2020-04-25,20.85,944,69,5\n"4470",2020-04-02,19.28,546,70,5\n"4471",2020-04-10,20.52,609,71,5\n"4472",2020-04-03,21.51,921,72,5\n"4473",2020-04-15,20.3,519,73,5\n"4474",2020-04-05,21.07,275,74,5\n"4475",2020-04-01,20.44,507,75,5\n"4476",2020-04-12,19.55,397,76,5\n"4477",2020-04-26,20.59,618,77,5\n"4478",2020-04-21,20.42,798,78,5\n"4479",2020-04-08,21.41,707,79,5\n"4480",2020-04-13,21.87,377,80,5\n"4481",2020-04-27,19.81,514,81,5\n"4482",2020-04-23,19.96,715,82,5\n"4483",2020-04-21,20.16,389,83,5\n"4484",2020-04-03,21.36,363,84,5\n"4485",2020-04-03,20.48,210,85,5\n"4486",2020-04-28,20.92,365,86,5\n"4487",2020-04-27,20.33,882,87,5\n"4488",2020-04-23,19.81,848,88,5\n"4489",2020-04-02,20.86,628,89,5\n"4490",2020-04-03,19.8,586,90,5\n"4491",2020-04-09,20.34,565,91,5\n"4492",2020-04-06,20.32,327,92,5\n"4493",2020-04-29,21.58,892,93,5\n"4494",2020-04-01,19.23,458,94,5\n"4495",2020-04-17,20.04,871,95,5\n"4496",2020-04-07,19.63,180,96,5\n"4497",2020-04-01,19.8,600,97,5\n"4498",2020-04-04,20.9,685,98,5\n"4499",2020-04-09,20.42,303,99,5\n"4500",2020-04-23,21.22,289,100,5\n"4501",2020-04-16,20.77,501,1,6\n"4502",2020-04-22,19.76,484,2,6\n"4503",2020-04-17,19.44,561,3,6\n"4504",2020-04-24,19.72,307,4,6\n"4505",2020-04-30,20.97,438,5,6\n"4506",2020-04-29,21.18,560,6,6\n"4507",2020-04-16,20.31,586,7,6\n"4508",2020-04-12,20.52,356,8,6\n"4509",2020-04-12,19.41,121,9,6\n"4510",2020-04-04,20.35,1310,10,6\n"4511",2020-04-07,21.56,728,11,6\n"4512",2020-04-13,21.24,518,12,6\n"4513",2020-04-27,20.8,456,13,6\n"4514",2020-04-26,20.77,799,14,6\n"4515",2020-04-01,20.1,264,15,6\n"4516",2020-04-21,20.4,552,16,6\n"4517",2020-04-11,20.38,361,17,6\n"4518",2020-04-13,19.84,489,18,6\n"4519",2020-04-15,20.66,130,19,6\n"4520",2020-04-17,19.7,294,20,6\n"4521",2020-04-25,20.83,543,21,6\n"4522",2020-04-21,21.06,360,22,6\n"4523",2020-04-17,20.58,181,23,6\n"4524",2020-04-29,20.24,281,24,6\n"4525",2020-04-28,20.03,204,25,6\n"4526",2020-04-25,20.14,371,26,6\n"4527",2020-04-14,20.92,565,27,6\n"4528",2020-04-19,20.14,371,28,6\n"4529",2020-04-23,19.89,514,29,6\n"4530",2020-04-18,19.97,284,30,6\n"4531",2020-04-12,20.33,500,31,6\n"4532",2020-04-30,20.06,494,32,6\n"4533",2020-04-19,20.3,296,33,6\n"4534",2020-04-11,19.66,1274,34,6\n"4535",2020-04-17,19.92,672,35,6\n"4536",2020-04-28,19.88,940,36,6\n"4537",2020-04-11,20.3,804,37,6\n"4538",2020-04-29,20.81,330,38,6\n"4539",2020-04-23,20.5,363,39,6\n"4540",2020-04-19,20.37,562,40,6\n"4541",2020-04-10,20.16,494,41,6\n"4542",2020-04-25,20.68,773,42,6\n"4543",2020-04-27,20.42,611,43,6\n"4544",2020-04-16,21.06,711,44,6\n"4545",2020-04-07,19.87,356,45,6\n"4546",2020-04-13,20.03,875,46,6\n"4547",2020-04-24,20.57,442,47,6\n"4548",2020-04-06,20.3,285,48,6\n"4549",2020-04-20,20.29,355,49,6\n"4550",2020-04-17,20.22,466,50,6\n"4551",2020-04-17,19.41,281,51,6\n"4552",2020-04-29,20.25,635,52,6\n"4553",2020-04-16,20.3,1019,53,6\n"4554",2020-04-19,20.04,277,54,6\n"4555",2020-04-28,20.24,603,55,6\n"4556",2020-04-20,20.16,666,56,6\n"4557",2020-04-28,19.89,758,57,6\n"4558",2020-04-02,20.25,206,58,6\n"4559",2020-04-13,20.31,526,59,6\n"4560",2020-04-01,21.2,445,60,6\n"4561",2020-04-10,19.93,228,61,6\n"4562",2020-04-16,19.68,247,62,6\n"4563",2020-04-03,19.59,211,63,6\n"4564",2020-04-25,20.79,488,64,6\n"4565",2020-04-16,20.64,437,65,6\n"4566",2020-04-22,19.95,561,66,6\n"4567",2020-04-17,19.71,961,67,6\n"4568",2020-04-17,20.46,566,68,6\n"4569",2020-04-25,20.64,507,69,6\n"4570",2020-04-02,19.57,495,70,6\n"4571",2020-04-10,19.5,336,71,6\n"4572",2020-04-03,19.86,615,72,6\n"4573",2020-04-15,20.52,704,73,6\n"4574",2020-04-05,19.47,445,74,6\n"4575",2020-04-01,21.82,1001,75,6\n"4576",2020-04-12,20.13,390,76,6\n"4577",2020-04-26,20.05,264,77,6\n"4578",2020-04-21,19.81,604,78,6\n"4579",2020-04-08,19.45,411,79,6\n"4580",2020-04-13,19.98,895,80,6\n"4581",2020-04-27,19.85,309,81,6\n"4582",2020-04-23,21.23,349,82,6\n"4583",2020-04-21,20.87,413,83,6\n"4584",2020-04-03,19.92,1493,84,6\n"4585",2020-04-03,19.39,408,85,6\n"4586",2020-04-28,20.61,497,86,6\n"4587",2020-04-27,19.67,411,87,6\n"4588",2020-04-23,21.59,425,88,6\n"4589",2020-04-02,19.55,332,89,6\n"4590",2020-04-03,20.3,322,90,6\n"4591",2020-04-09,20.73,409,91,6\n"4592",2020-04-06,20.42,650,92,6\n"4593",2020-04-29,20.07,322,93,6\n"4594",2020-04-01,20.01,841,94,6\n"4595",2020-04-17,20.02,245,95,6\n"4596",2020-04-07,20.39,530,96,6\n"4597",2020-04-01,21.01,353,97,6\n"4598",2020-04-04,20.42,233,98,6\n"4599",2020-04-09,20.85,795,99,6\n"4600",2020-04-23,20.35,320,100,6\n"4601",2020-04-16,20.43,329,1,7\n"4602",2020-04-22,22.01,545,2,7\n"4603",2020-04-17,18.98,589,3,7\n"4604",2020-04-24,21.26,547,4,7\n"4605",2020-04-30,20.85,283,5,7\n"4606",2020-04-29,21.04,621,6,7\n"4607",2020-04-16,20.58,434,7,7\n"4608",2020-04-12,20.12,280,8,7\n"4609",2020-04-12,20.52,349,9,7\n"4610",2020-04-04,21.32,621,10,7\n"4611",2020-04-07,20.57,254,11,7\n"4612",2020-04-13,20.41,438,12,7\n"4613",2020-04-27,20.71,966,13,7\n"4614",2020-04-26,19.45,337,14,7\n"4615",2020-04-01,20.13,476,15,7\n"4616",2020-04-21,19.71,248,16,7\n"4617",2020-04-11,19.87,406,17,7\n"4618",2020-04-13,21.5,598,18,7\n"4619",2020-04-15,20.38,280,19,7\n"4620",2020-04-17,21.15,213,20,7\n"4621",2020-04-25,19.25,798,21,7\n"4622",2020-04-21,19.76,376,22,7\n"4623",2020-04-17,20.7,627,23,7\n"4624",2020-04-29,20.19,95,24,7\n"4625",2020-04-28,19.67,232,25,7\n"4626",2020-04-25,21.86,466,26,7\n"4627",2020-04-14,20.7,445,27,7\n"4628",2020-04-19,19.83,380,28,7\n"4629",2020-04-23,19.98,641,29,7\n"4630",2020-04-18,20.47,291,30,7\n"4631",2020-04-12,21.01,807,31,7\n"4632",2020-04-30,20.91,338,32,7\n"4633",2020-04-19,20.8,479,33,7\n"4634",2020-04-11,20.46,637,34,7\n"4635",2020-04-17,19.55,514,35,7\n"4636",2020-04-28,20.24,532,36,7\n"4637",2020-04-11,18.89,267,37,7\n"4638",2020-04-29,20.64,482,38,7\n"4639",2020-04-23,20.08,438,39,7\n"4640",2020-04-19,20.29,702,40,7\n"4641",2020-04-10,20.95,273,41,7\n"4642",2020-04-25,19.94,653,42,7\n"4643",2020-04-27,19.62,1276,43,7\n"4644",2020-04-16,20.16,439,44,7\n"4645",2020-04-07,19.83,206,45,7\n"4646",2020-04-13,20.78,473,46,7\n"4647",2020-04-24,19.7,462,47,7\n"4648",2020-04-06,20.26,605,48,7\n"4649",2020-04-20,19.94,511,49,7\n"4650",2020-04-17,20.06,887,50,7\n"4651",2020-04-17,19.58,425,51,7\n"4652",2020-04-29,21.54,940,52,7\n"4653",2020-04-16,20.54,638,53,7\n"4654",2020-04-19,19.77,870,54,7\n"4655",2020-04-28,19.22,946,55,7\n"4656",2020-04-20,21.54,753,56,7\n"4657",2020-04-28,20.2,468,57,7\n"4658",2020-04-02,20.47,243,58,7\n"4659",2020-04-13,19.95,467,59,7\n"4660",2020-04-01,20.61,512,60,7\n"4661",2020-04-10,19.94,518,61,7\n"4662",2020-04-16,19.83,529,62,7\n"4663",2020-04-03,19.77,964,63,7\n"4664",2020-04-25,19.96,335,64,7\n"4665",2020-04-16,20.36,326,65,7\n"4666",2020-04-22,20.21,235,66,7\n"4667",2020-04-17,20.19,204,67,7\n"4668",2020-04-17,20.81,313,68,7\n"4669",2020-04-25,20.46,590,69,7\n"4670",2020-04-02,20.01,765,70,7\n"4671",2020-04-10,19.84,198,71,7\n"4672",2020-04-03,20.4,335,72,7\n"4673",2020-04-15,21.26,443,73,7\n"4674",2020-04-05,20.57,609,74,7\n"4675",2020-04-01,21.23,959,75,7\n"4676",2020-04-12,19.94,609,76,7\n"4677",2020-04-26,19.62,416,77,7\n"4678",2020-04-21,19.61,312,78,7\n"4679",2020-04-08,19.72,554,79,7\n"4680",2020-04-13,20.41,561,80,7\n"4681",2020-04-27,20.52,436,81,7\n"4682",2020-04-23,21.18,554,82,7\n"4683",2020-04-21,20.88,501,83,7\n"4684",2020-04-03,19.46,383,84,7\n"4685",2020-04-03,20.46,827,85,7\n"4686",2020-04-28,21.68,537,86,7\n"4687",2020-04-27,21.21,1251,87,7\n"4688",2020-04-23,20.33,324,88,7\n"4689",2020-04-02,21.62,416,89,7\n"4690",2020-04-03,20.36,260,90,7\n"4691",2020-04-09,20.44,318,91,7\n"4692",2020-04-06,19.27,362,92,7\n"4693",2020-04-29,20.14,890,93,7\n"4694",2020-04-01,19.12,207,94,7\n"4695",2020-04-17,21,282,95,7\n"4696",2020-04-07,20.12,596,96,7\n"4697",2020-04-01,19.79,438,97,7\n"4698",2020-04-04,19.91,405,98,7\n"4699",2020-04-09,20.24,288,99,7\n"4700",2020-04-23,20.51,179,100,7\n"4701",2020-04-16,19.87,393,1,8\n"4702",2020-04-22,20.55,437,2,8\n"4703",2020-04-17,20.94,537,3,8\n"4704",2020-04-24,20.21,735,4,8\n"4705",2020-04-30,21.02,667,5,8\n"4706",2020-04-29,19.91,643,6,8\n"4707",2020-04-16,20.73,705,7,8\n"4708",2020-04-12,19.69,468,8,8\n"4709",2020-04-12,19.73,579,9,8\n"4710",2020-04-04,21.01,455,10,8\n"4711",2020-04-07,20.28,292,11,8\n"4712",2020-04-13,20.74,594,12,8\n"4713",2020-04-27,20.03,554,13,8\n"4714",2020-04-26,19.44,320,14,8\n"4715",2020-04-01,20.93,772,15,8\n"4716",2020-04-21,19.89,490,16,8\n"4717",2020-04-11,20.17,894,17,8\n"4718",2020-04-13,20.26,242,18,8\n"4719",2020-04-15,21.8,410,19,8\n"4720",2020-04-17,20.64,516,20,8\n"4721",2020-04-25,20.25,503,21,8\n"4722",2020-04-21,20.51,697,22,8\n"4723",2020-04-17,20.31,245,23,8\n"4724",2020-04-29,19.29,961,24,8\n"4725",2020-04-28,21.84,517,25,8\n"4726",2020-04-25,20.03,409,26,8\n"4727",2020-04-14,20.48,249,27,8\n"4728",2020-04-19,20.07,693,28,8\n"4729",2020-04-23,22.03,482,29,8\n"4730",2020-04-18,20.58,855,30,8\n"4731",2020-04-12,20.83,994,31,8\n"4732",2020-04-30,21.16,551,32,8\n"4733",2020-04-19,22.08,680,33,8\n"4734",2020-04-11,18.95,413,34,8\n"4735",2020-04-17,20.7,425,35,8\n"4736",2020-04-28,20.51,890,36,8\n"4737",2020-04-11,21.51,335,37,8\n"4738",2020-04-29,21.08,383,38,8\n"4739",2020-04-23,20.79,318,39,8\n"4740",2020-04-19,20.62,493,40,8\n"4741",2020-04-10,19.74,279,41,8\n"4742",2020-04-25,20.97,408,42,8\n"4743",2020-04-27,21.63,206,43,8\n"4744",2020-04-16,20.1,372,44,8\n"4745",2020-04-07,20.87,417,45,8\n"4746",2020-04-13,19.31,338,46,8\n"4747",2020-04-24,20.45,287,47,8\n"4748",2020-04-06,20.25,545,48,8\n"4749",2020-04-20,20.63,428,49,8\n"4750",2020-04-17,19.03,290,50,8\n"4751",2020-04-17,20.57,576,51,8\n"4752",2020-04-29,19.97,457,52,8\n"4753",2020-04-16,20.89,235,53,8\n"4754",2020-04-19,19.55,504,54,8\n"4755",2020-04-28,20.3,513,55,8\n"4756",2020-04-20,19.26,345,56,8\n"4757",2020-04-28,20.18,313,57,8\n"4758",2020-04-02,20.36,562,58,8\n"4759",2020-04-13,19.87,133,59,8\n"4760",2020-04-01,19.42,447,60,8\n"4761",2020-04-10,20.27,463,61,8\n"4762",2020-04-16,19.74,327,62,8\n"4763",2020-04-03,19.87,242,63,8\n"4764",2020-04-25,19.79,395,64,8\n"4765",2020-04-16,21.22,629,65,8\n"4766",2020-04-22,20.11,310,66,8\n"4767",2020-04-17,19.69,628,67,8\n"4768",2020-04-17,20.75,332,68,8\n"4769",2020-04-25,19.6,659,69,8\n"4770",2020-04-02,20.36,1346,70,8\n"4771",2020-04-10,21.76,242,71,8\n"4772",2020-04-03,19.48,219,72,8\n"4773",2020-04-15,21.15,437,73,8\n"4774",2020-04-05,20.8,1037,74,8\n"4775",2020-04-01,21.01,813,75,8\n"4776",2020-04-12,20.41,382,76,8\n"4777",2020-04-26,19.98,207,77,8\n"4778",2020-04-21,19.8,438,78,8\n"4779",2020-04-08,19.4,505,79,8\n"4780",2020-04-13,19.77,711,80,8\n"4781",2020-04-27,20.72,264,81,8\n"4782",2020-04-23,20.34,341,82,8\n"4783",2020-04-21,19.63,817,83,8\n"4784",2020-04-03,19.98,463,84,8\n"4785",2020-04-03,20.91,915,85,8\n"4786",2020-04-28,19.54,231,86,8\n"4787",2020-04-27,20.42,439,87,8\n"4788",2020-04-23,20.58,283,88,8\n"4789",2020-04-02,19.74,545,89,8\n"4790",2020-04-03,19.97,615,90,8\n"4791",2020-04-09,20.65,532,91,8\n"4792",2020-04-06,19.94,347,92,8\n"4793",2020-04-29,21.24,360,93,8\n"4794",2020-04-01,20.51,435,94,8\n"4795",2020-04-17,20.55,595,95,8\n"4796",2020-04-07,19.95,1028,96,8\n"4797",2020-04-01,21.75,563,97,8\n"4798",2020-04-04,20.93,929,98,8\n"4799",2020-04-09,20.29,207,99,8\n"4800",2020-04-23,20.73,232,100,8\n"4801",2020-04-16,19.62,401,1,9\n"4802",2020-04-22,20.38,356,2,9\n"4803",2020-04-17,19.76,246,3,9\n"4804",2020-04-24,20.03,551,4,9\n"4805",2020-04-30,20.82,484,5,9\n"4806",2020-04-29,19.61,414,6,9\n"4807",2020-04-16,20.14,212,7,9\n"4808",2020-04-12,20.3,762,8,9\n"4809",2020-04-12,20.14,247,9,9\n"4810",2020-04-04,20.66,370,10,9\n"4811",2020-04-07,20.28,690,11,9\n"4812",2020-04-13,20.54,196,12,9\n"4813",2020-04-27,20.16,436,13,9\n"4814",2020-04-26,21.54,703,14,9\n"4815",2020-04-01,20.89,193,15,9\n"4816",2020-04-21,21.4,278,16,9\n"4817",2020-04-11,20.19,630,17,9\n"4818",2020-04-13,19.81,880,18,9\n"4819",2020-04-15,19.44,724,19,9\n"4820",2020-04-17,20.49,559,20,9\n"4821",2020-04-25,21.02,1074,21,9\n"4822",2020-04-21,20.55,411,22,9\n"4823",2020-04-17,19.22,599,23,9\n"4824",2020-04-29,20.58,536,24,9\n"4825",2020-04-28,21.31,367,25,9\n"4826",2020-04-25,20.71,620,26,9\n"4827",2020-04-14,20.54,335,27,9\n"4828",2020-04-19,19.61,594,28,9\n"4829",2020-04-23,20.73,426,29,9\n"4830",2020-04-18,21.48,344,30,9\n"4831",2020-04-12,21.1,257,31,9\n"4832",2020-04-30,20.95,393,32,9\n"4833",2020-04-19,20.82,547,33,9\n"4834",2020-04-11,21.52,178,34,9\n"4835",2020-04-17,21.11,425,35,9\n"4836",2020-04-28,20.53,417,36,9\n"4837",2020-04-11,20.27,1014,37,9\n"4838",2020-04-29,19.45,362,38,9\n"4839",2020-04-23,19.75,213,39,9\n"4840",2020-04-19,19.53,145,40,9\n"4841",2020-04-10,19.9,407,41,9\n"4842",2020-04-25,20.36,548,42,9\n"4843",2020-04-27,20.73,557,43,9\n"4844",2020-04-16,20.36,469,44,9\n"4845",2020-04-07,20.57,385,45,9\n"4846",2020-04-13,21.03,338,46,9\n"4847",2020-04-24,20.22,244,47,9\n"4848",2020-04-06,20.84,347,48,9\n"4849",2020-04-20,21.13,194,49,9\n"4850",2020-04-17,20.19,366,50,9\n"4851",2020-04-17,19.83,660,51,9\n"4852",2020-04-29,20.77,299,52,9\n"4853",2020-04-16,20.33,224,53,9\n"4854",2020-04-19,21.27,384,54,9\n"4855",2020-04-28,19.87,664,55,9\n"4856",2020-04-20,20.84,349,56,9\n"4857",2020-04-28,20.54,354,57,9\n"4858",2020-04-02,21.09,555,58,9\n"4859",2020-04-13,20.08,220,59,9\n"4860",2020-04-01,21.07,392,60,9\n"4861",2020-04-10,20.42,266,61,9\n"4862",2020-04-16,19.74,405,62,9\n"4863",2020-04-03,20.87,578,63,9\n"4864",2020-04-25,20.49,578,64,9\n"4865",2020-04-16,22.05,373,65,9\n"4866",2020-04-22,20.74,700,66,9\n"4867",2020-04-17,20.88,333,67,9\n"4868",2020-04-17,19.72,915,68,9\n"4869",2020-04-25,22.12,574,69,9\n"4870",2020-04-02,20.48,332,70,9\n"4871",2020-04-10,19.5,701,71,9\n"4872",2020-04-03,19.84,613,72,9\n"4873",2020-04-15,20.71,578,73,9\n"4874",2020-04-05,20.28,409,74,9\n"4875",2020-04-01,21.47,491,75,9\n"4876",2020-04-12,19.94,998,76,9\n"4877",2020-04-26,20.37,395,77,9\n"4878",2020-04-21,19.8,645,78,9\n"4879",2020-04-08,19.96,281,79,9\n"4880",2020-04-13,20.05,273,80,9\n"4881",2020-04-27,19.5,677,81,9\n"4882",2020-04-23,20.21,184,82,9\n"4883",2020-04-21,20.78,314,83,9\n"4884",2020-04-03,21.65,156,84,9\n"4885",2020-04-03,20.32,459,85,9\n"4886",2020-04-28,19.86,493,86,9\n"4887",2020-04-27,20.37,391,87,9\n"4888",2020-04-23,20.12,308,88,9\n"4889",2020-04-02,20,773,89,9\n"4890",2020-04-03,21.03,1155,90,9\n"4891",2020-04-09,19.51,640,91,9\n"4892",2020-04-06,20.6,681,92,9\n"4893",2020-04-29,20.35,213,93,9\n"4894",2020-04-01,19.77,542,94,9\n"4895",2020-04-17,20.04,320,95,9\n"4896",2020-04-07,20.89,152,96,9\n"4897",2020-04-01,20.31,377,97,9\n"4898",2020-04-04,20.77,842,98,9\n"4899",2020-04-09,20.36,581,99,9\n"4900",2020-04-23,19.71,523,100,9\n"4901",2020-04-16,20.47,508,1,10\n"4902",2020-04-22,21.49,209,2,10\n"4903",2020-04-17,20.79,323,3,10\n"4904",2020-04-24,20.45,430,4,10\n"4905",2020-04-30,20.28,322,5,10\n"4906",2020-04-29,19.43,391,6,10\n"4907",2020-04-16,20.58,262,7,10\n"4908",2020-04-12,20.08,1068,8,10\n"4909",2020-04-12,20.35,1050,9,10\n"4910",2020-04-04,20.88,617,10,10\n"4911",2020-04-07,20.09,385,11,10\n"4912",2020-04-13,21.2,776,12,10\n"4913",2020-04-27,20.86,513,13,10\n"4914",2020-04-26,20.2,303,14,10\n"4915",2020-04-01,19.82,347,15,10\n"4916",2020-04-21,21.51,597,16,10\n"4917",2020-04-11,22.03,837,17,10\n"4918",2020-04-13,20.72,644,18,10\n"4919",2020-04-15,19.65,390,19,10\n"4920",2020-04-17,21,666,20,10\n"4921",2020-04-25,19.95,486,21,10\n"4922",2020-04-21,19.49,321,22,10\n"4923",2020-04-17,21.36,273,23,10\n"4924",2020-04-29,20.29,890,24,10\n"4925",2020-04-28,20.42,520,25,10\n"4926",2020-04-25,18.82,819,26,10\n"4927",2020-04-14,20.37,355,27,10\n"4928",2020-04-19,21.55,302,28,10\n"4929",2020-04-23,19.72,1159,29,10\n"4930",2020-04-18,20.18,274,30,10\n"4931",2020-04-12,19.79,501,31,10\n"4932",2020-04-30,19.85,483,32,10\n"4933",2020-04-19,20.95,311,33,10\n"4934",2020-04-11,20.11,321,34,10\n"4935",2020-04-17,20.53,440,35,10\n"4936",2020-04-28,20.3,410,36,10\n"4937",2020-04-11,19.7,515,37,10\n"4938",2020-04-29,19.19,365,38,10\n"4939",2020-04-23,19.34,584,39,10\n"4940",2020-04-19,20.18,259,40,10\n"4941",2020-04-10,21.19,834,41,10\n"4942",2020-04-25,20.05,829,42,10\n"4943",2020-04-27,21.76,612,43,10\n"4944",2020-04-16,19.74,358,44,10\n"4945",2020-04-07,19.85,111,45,10\n"4946",2020-04-13,21.05,259,46,10\n"4947",2020-04-24,19.6,387,47,10\n"4948",2020-04-06,21.28,599,48,10\n"4949",2020-04-20,21.01,779,49,10\n"4950",2020-04-17,20.57,891,50,10\n"4951",2020-04-17,20.07,869,51,10\n"4952",2020-04-29,20.31,1038,52,10\n"4953",2020-04-16,19.98,404,53,10\n"4954",2020-04-19,20.45,706,54,10\n"4955",2020-04-28,19.9,298,55,10\n"4956",2020-04-20,21.66,783,56,10\n"4957",2020-04-28,20.9,473,57,10\n"4958",2020-04-02,19.65,315,58,10\n"4959",2020-04-13,20.9,424,59,10\n"4960",2020-04-01,19.94,365,60,10\n"4961",2020-04-10,20.24,440,61,10\n"4962",2020-04-16,20.52,801,62,10\n"4963",2020-04-03,19.34,569,63,10\n"4964",2020-04-25,21.22,559,64,10\n"4965",2020-04-16,18.96,529,65,10\n"4966",2020-04-22,19.68,772,66,10\n"4967",2020-04-17,20.52,256,67,10\n"4968",2020-04-17,20.38,452,68,10\n"4969",2020-04-25,20.36,232,69,10\n"4970",2020-04-02,20.29,365,70,10\n"4971",2020-04-10,20.48,235,71,10\n"4972",2020-04-03,19.97,606,72,10\n"4973",2020-04-15,20.46,888,73,10\n"4974",2020-04-05,19.93,570,74,10\n"4975",2020-04-01,20.17,434,75,10\n"4976",2020-04-12,20.31,203,76,10\n"4977",2020-04-26,19.83,863,77,10\n"4978",2020-04-21,20.2,262,78,10\n"4979",2020-04-08,19.83,460,79,10\n"4980",2020-04-13,20.61,327,80,10\n"4981",2020-04-27,21.08,425,81,10\n"4982",2020-04-23,19.53,703,82,10\n"4983",2020-04-21,20.26,533,83,10\n"4984",2020-04-03,20.79,289,84,10\n"4985",2020-04-03,19.78,415,85,10\n"4986",2020-04-28,19.58,186,86,10\n"4987",2020-04-27,20.27,618,87,10\n"4988",2020-04-23,19.84,537,88,10\n"4989",2020-04-02,19.88,497,89,10\n"4990",2020-04-03,20.15,356,90,10\n"4991",2020-04-09,20.19,217,91,10\n"4992",2020-04-06,19.11,320,92,10\n"4993",2020-04-29,20.54,466,93,10\n"4994",2020-04-01,21.13,359,94,10\n"4995",2020-04-17,19.91,191,95,10\n"4996",2020-04-07,19.49,516,96,10\n"4997",2020-04-01,21.31,546,97,10\n"4998",2020-04-04,21.25,259,98,10\n"4999",2020-04-09,20.71,721,99,10\n"5000",2020-04-23,19.12,520,100,10\n"5001",2020-05-08,21.29,714,1,1\n"5002",2020-05-20,20.78,316,2,1\n"5003",2020-05-04,20,204,3,1\n"5004",2020-05-08,19.3,475,4,1\n"5005",2020-05-25,20.59,600,5,1\n"5006",2020-05-03,21.56,183,6,1\n"5007",2020-05-09,20.95,457,7,1\n"5008",2020-05-08,20.47,513,8,1\n"5009",2020-05-12,19.37,956,9,1\n"5010",2020-05-25,20.72,911,10,1\n"5011",2020-05-24,20.43,359,11,1\n"5012",2020-05-21,20.49,257,12,1\n"5013",2020-05-31,20.07,1205,13,1\n"5014",2020-05-03,21.07,447,14,1\n"5015",2020-05-20,20.78,335,15,1\n"5016",2020-05-10,21.18,868,16,1\n"5017",2020-05-05,20.92,365,17,1\n"5018",2020-05-30,20.58,364,18,1\n"5019",2020-05-30,20.47,302,19,1\n"5020",2020-05-12,20.02,523,20,1\n"5021",2020-05-01,20.38,650,21,1\n"5022",2020-05-06,20.83,539,22,1\n"5023",2020-05-31,19.95,570,23,1\n"5024",2020-05-18,21.45,347,24,1\n"5025",2020-05-17,20.33,412,25,1\n"5026",2020-05-15,19.92,958,26,1\n"5027",2020-05-21,20.28,494,27,1\n"5028",2020-05-17,20.71,292,28,1\n"5029",2020-05-09,19.92,594,29,1\n"5030",2020-05-18,20.06,873,30,1\n"5031",2020-05-08,19.89,265,31,1\n"5032",2020-05-18,21.15,1129,32,1\n"5033",2020-05-30,21.46,738,33,1\n"5034",2020-05-05,20.84,190,34,1\n"5035",2020-05-24,20.24,823,35,1\n"5036",2020-05-28,20.74,262,36,1\n"5037",2020-05-15,20.2,291,37,1\n"5038",2020-05-16,19.84,847,38,1\n"5039",2020-05-26,20.49,320,39,1\n"5040",2020-05-29,20.31,375,40,1\n"5041",2020-05-22,19.77,227,41,1\n"5042",2020-05-23,20.29,358,42,1\n"5043",2020-05-12,21.2,386,43,1\n"5044",2020-05-21,19.68,464,44,1\n"5045",2020-05-04,20.1,596,45,1\n"5046",2020-05-04,19.16,266,46,1\n"5047",2020-05-02,20.7,556,47,1\n"5048",2020-05-31,20.21,1091,48,1\n"5049",2020-05-04,19.58,453,49,1\n"5050",2020-05-15,20.77,832,50,1\n"5051",2020-05-13,19.4,571,51,1\n"5052",2020-05-27,20.17,536,52,1\n"5053",2020-05-12,21.35,808,53,1\n"5054",2020-05-11,20.37,399,54,1\n"5055",2020-05-06,20.3,289,55,1\n"5056",2020-05-26,20.64,466,56,1\n"5057",2020-05-02,20.57,431,57,1\n"5058",2020-05-21,21.82,586,58,1\n"5059",2020-05-22,20.7,228,59,1\n"5060",2020-05-18,20.18,717,60,1\n"5061",2020-05-15,21.36,380,61,1\n"5062",2020-05-21,19.9,497,62,1\n"5063",2020-05-21,20.57,514,63,1\n"5064",2020-05-23,19.38,185,64,1\n"5065",2020-05-20,20.51,278,65,1\n"5066",2020-05-12,21.02,596,66,1\n"5067",2020-05-09,20.68,482,67,1\n"5068",2020-05-22,20.16,266,68,1\n"5069",2020-05-27,20.83,679,69,1\n"5070",2020-05-13,19.34,383,70,1\n"5071",2020-05-23,19.79,367,71,1\n"5072",2020-05-24,20.52,677,72,1\n"5073",2020-05-17,20.38,258,73,1\n"5074",2020-05-23,20.07,402,74,1\n"5075",2020-05-22,19.75,481,75,1\n"5076",2020-05-06,21,368,76,1\n"5077",2020-05-27,20.64,230,77,1\n"5078",2020-05-05,20.98,369,78,1\n"5079",2020-05-12,19.82,495,79,1\n"5080",2020-05-21,19.57,324,80,1\n"5081",2020-05-17,20.64,493,81,1\n"5082",2020-05-12,19.55,701,82,1\n"5083",2020-05-17,20.43,1149,83,1\n"5084",2020-05-27,20.97,353,84,1\n"5085",2020-05-29,19.81,420,85,1\n"5086",2020-05-22,20.15,446,86,1\n"5087",2020-05-07,19.97,424,87,1\n"5088",2020-05-17,20.43,197,88,1\n"5089",2020-05-02,20.02,732,89,1\n"5090",2020-05-20,20.59,229,90,1\n"5091",2020-05-07,21.31,786,91,1\n"5092",2020-05-31,21.9,469,92,1\n"5093",2020-05-29,21.08,765,93,1\n"5094",2020-05-26,20.47,685,94,1\n"5095",2020-05-25,19.89,410,95,1\n"5096",2020-05-19,20.9,323,96,1\n"5097",2020-05-06,21.48,542,97,1\n"5098",2020-05-14,20.29,1037,98,1\n"5099",2020-05-04,19.65,333,99,1\n"5100",2020-05-22,20.15,212,100,1\n"5101",2020-05-08,19.36,639,1,2\n"5102",2020-05-20,19.46,716,2,2\n"5103",2020-05-04,20.14,585,3,2\n"5104",2020-05-08,21.07,823,4,2\n"5105",2020-05-25,20.31,466,5,2\n"5106",2020-05-03,20.14,618,6,2\n"5107",2020-05-09,20.61,486,7,2\n"5108",2020-05-08,20.03,496,8,2\n"5109",2020-05-12,20.71,214,9,2\n"5110",2020-05-25,19.24,1294,10,2\n"5111",2020-05-24,21.14,560,11,2\n"5112",2020-05-21,19.22,1421,12,2\n"5113",2020-05-31,20.16,451,13,2\n"5114",2020-05-03,19.79,727,14,2\n"5115",2020-05-20,20.56,392,15,2\n"5116",2020-05-10,20.27,664,16,2\n"5117",2020-05-05,21.96,432,17,2\n"5118",2020-05-30,20.39,191,18,2\n"5119",2020-05-30,19.39,526,19,2\n"5120",2020-05-12,21.22,417,20,2\n"5121",2020-05-01,21.42,554,21,2\n"5122",2020-05-06,20.08,313,22,2\n"5123",2020-05-31,20.61,1131,23,2\n"5124",2020-05-18,19.93,302,24,2\n"5125",2020-05-17,21.17,375,25,2\n"5126",2020-05-15,20.78,1275,26,2\n"5127",2020-05-21,19.83,403,27,2\n"5128",2020-05-17,19.92,398,28,2\n"5129",2020-05-09,19.63,1073,29,2\n"5130",2020-05-18,20.28,297,30,2\n"5131",2020-05-08,20.53,797,31,2\n"5132",2020-05-18,20.42,808,32,2\n"5133",2020-05-30,20.12,235,33,2\n"5134",2020-05-05,20.42,783,34,2\n"5135",2020-05-24,21.38,246,35,2\n"5136",2020-05-28,20.83,351,36,2\n"5137",2020-05-15,21.09,538,37,2\n"5138",2020-05-16,19.81,697,38,2\n"5139",2020-05-26,20.88,398,39,2\n"5140",2020-05-29,20.72,1038,40,2\n"5141",2020-05-22,19.5,441,41,2\n"5142",2020-05-23,20.72,377,42,2\n"5143",2020-05-12,20.2,315,43,2\n"5144",2020-05-21,21.87,523,44,2\n"5145",2020-05-04,20.15,351,45,2\n"5146",2020-05-04,20.24,525,46,2\n"5147",2020-05-02,19.67,377,47,2\n"5148",2020-05-31,19.79,203,48,2\n"5149",2020-05-04,20.63,579,49,2\n"5150",2020-05-15,21.07,410,50,2\n"5151",2020-05-13,20.21,555,51,2\n"5152",2020-05-27,20.3,501,52,2\n"5153",2020-05-12,19.59,463,53,2\n"5154",2020-05-11,20.38,319,54,2\n"5155",2020-05-06,20.19,291,55,2\n"5156",2020-05-26,20.66,854,56,2\n"5157",2020-05-02,19.39,338,57,2\n"5158",2020-05-21,21,282,58,2\n"5159",2020-05-22,20.67,525,59,2\n"5160",2020-05-18,22.12,671,60,2\n"5161",2020-05-15,20.12,384,61,2\n"5162",2020-05-21,20.12,136,62,2\n"5163",2020-05-21,19.94,295,63,2\n"5164",2020-05-23,20.88,365,64,2\n"5165",2020-05-20,20.84,481,65,2\n"5166",2020-05-12,19.77,313,66,2\n"5167",2020-05-09,21.78,323,67,2\n"5168",2020-05-22,20.16,284,68,2\n"5169",2020-05-27,20.26,581,69,2\n"5170",2020-05-13,20.94,359,70,2\n"5171",2020-05-23,19.44,320,71,2\n"5172",2020-05-24,20.7,669,72,2\n"5173",2020-05-17,20.41,228,73,2\n"5174",2020-05-23,22.04,513,74,2\n"5175",2020-05-22,20.96,966,75,2\n"5176",2020-05-06,20.07,910,76,2\n"5177",2020-05-27,20.64,755,77,2\n"5178",2020-05-05,18.55,395,78,2\n"5179",2020-05-12,21.35,769,79,2\n"5180",2020-05-21,20.94,317,80,2\n"5181",2020-05-17,20.12,588,81,2\n"5182",2020-05-12,20.76,309,82,2\n"5183",2020-05-17,20.73,403,83,2\n"5184",2020-05-27,20.46,234,84,2\n"5185",2020-05-29,20.61,448,85,2\n"5186",2020-05-22,20.64,713,86,2\n"5187",2020-05-07,20.69,494,87,2\n"5188",2020-05-17,20.51,492,88,2\n"5189",2020-05-02,20.98,1328,89,2\n"5190",2020-05-20,18.92,799,90,2\n"5191",2020-05-07,20.31,339,91,2\n"5192",2020-05-31,20.11,396,92,2\n"5193",2020-05-29,20.87,315,93,2\n"5194",2020-05-26,20.19,299,94,2\n"5195",2020-05-25,21.93,865,95,2\n"5196",2020-05-19,21.7,453,96,2\n"5197",2020-05-06,20.98,359,97,2\n"5198",2020-05-14,20.73,548,98,2\n"5199",2020-05-04,20.4,492,99,2\n"5200",2020-05-22,20.11,352,100,2\n"5201",2020-05-08,20.8,529,1,3\n"5202",2020-05-20,20.59,633,2,3\n"5203",2020-05-04,19.84,748,3,3\n"5204",2020-05-08,19.78,397,4,3\n"5205",2020-05-25,19.79,754,5,3\n"5206",2020-05-03,20.61,1050,6,3\n"5207",2020-05-09,21.07,414,7,3\n"5208",2020-05-08,20.45,1090,8,3\n"5209",2020-05-12,19.23,254,9,3\n"5210",2020-05-25,19.54,361,10,3\n"5211",2020-05-24,20.67,420,11,3\n"5212",2020-05-21,20.41,396,12,3\n"5213",2020-05-31,20.43,719,13,3\n"5214",2020-05-03,19.13,489,14,3\n"5215",2020-05-20,20.86,880,15,3\n"5216",2020-05-10,20.49,397,16,3\n"5217",2020-05-05,19.76,553,17,3\n"5218",2020-05-30,18.47,1461,18,3\n"5219",2020-05-30,20.12,1298,19,3\n"5220",2020-05-12,21.48,384,20,3\n"5221",2020-05-01,20.85,432,21,3\n"5222",2020-05-06,20.28,456,22,3\n"5223",2020-05-31,19.72,237,23,3\n"5224",2020-05-18,20.81,428,24,3\n"5225",2020-05-17,21.43,277,25,3\n"5226",2020-05-15,19.65,574,26,3\n"5227",2020-05-21,21.71,306,27,3\n"5228",2020-05-17,21,485,28,3\n"5229",2020-05-09,19.82,805,29,3\n"5230",2020-05-18,21.67,697,30,3\n"5231",2020-05-08,20.49,537,31,3\n"5232",2020-05-18,21.15,1029,32,3\n"5233",2020-05-30,20.09,440,33,3\n"5234",2020-05-05,20.11,571,34,3\n"5235",2020-05-24,20.54,115,35,3\n"5236",2020-05-28,20.86,440,36,3\n"5237",2020-05-15,20.39,170,37,3\n"5238",2020-05-16,20.02,443,38,3\n"5239",2020-05-26,21.44,372,39,3\n"5240",2020-05-29,20.47,360,40,3\n"5241",2020-05-22,19.92,609,41,3\n"5242",2020-05-23,19.96,582,42,3\n"5243",2020-05-12,21.29,525,43,3\n"5244",2020-05-21,21.2,786,44,3\n"5245",2020-05-04,19.64,551,45,3\n"5246",2020-05-04,20.25,295,46,3\n"5247",2020-05-02,21.16,431,47,3\n"5248",2020-05-31,20.87,665,48,3\n"5249",2020-05-04,20.12,318,49,3\n"5250",2020-05-15,20.03,158,50,3\n"5251",2020-05-13,20.59,413,51,3\n"5252",2020-05-27,21.72,1087,52,3\n"5253",2020-05-12,19.31,828,53,3\n"5254",2020-05-11,20.64,518,54,3\n"5255",2020-05-06,20.86,277,55,3\n"5256",2020-05-26,21.68,390,56,3\n"5257",2020-05-02,20.33,399,57,3\n"5258",2020-05-21,20.61,510,58,3\n"5259",2020-05-22,19.38,330,59,3\n"5260",2020-05-18,20.37,650,60,3\n"5261",2020-05-15,20.39,508,61,3\n"5262",2020-05-21,19.81,211,62,3\n"5263",2020-05-21,20.97,497,63,3\n"5264",2020-05-23,20.25,561,64,3\n"5265",2020-05-20,20.33,899,65,3\n"5266",2020-05-12,19.72,510,66,3\n"5267",2020-05-09,20.68,788,67,3\n"5268",2020-05-22,21.55,293,68,3\n"5269",2020-05-27,19.64,466,69,3\n"5270",2020-05-13,20.8,267,70,3\n"5271",2020-05-23,19.7,341,71,3\n"5272",2020-05-24,21.14,748,72,3\n"5273",2020-05-17,19.89,675,73,3\n"5274",2020-05-23,20.43,288,74,3\n"5275",2020-05-22,20.57,297,75,3\n"5276",2020-05-06,20.11,396,76,3\n"5277",2020-05-27,20.07,319,77,3\n"5278",2020-05-05,19.87,328,78,3\n"5279",2020-05-12,20.34,617,79,3\n"5280",2020-05-21,19.27,471,80,3\n"5281",2020-05-17,20.95,436,81,3\n"5282",2020-05-12,20.76,385,82,3\n"5283",2020-05-17,20.36,1326,83,3\n"5284",2020-05-27,19.54,354,84,3\n"5285",2020-05-29,19.62,250,85,3\n"5286",2020-05-22,19.9,455,86,3\n"5287",2020-05-07,21.17,527,87,3\n"5288",2020-05-17,20.26,865,88,3\n"5289",2020-05-02,19.16,203,89,3\n"5290",2020-05-20,19.74,827,90,3\n"5291",2020-05-07,21.03,977,91,3\n"5292",2020-05-31,20.38,235,92,3\n"5293",2020-05-29,19.66,649,93,3\n"5294",2020-05-26,20.7,447,94,3\n"5295",2020-05-25,20.24,723,95,3\n"5296",2020-05-19,19.83,250,96,3\n"5297",2020-05-06,20.26,941,97,3\n"5298",2020-05-14,20.59,187,98,3\n"5299",2020-05-04,21.06,526,99,3\n"5300",2020-05-22,19.51,233,100,3\n"5301",2020-05-08,20.42,311,1,4\n"5302",2020-05-20,20.77,339,2,4\n"5303",2020-05-04,20.52,357,3,4\n"5304",2020-05-08,19.55,358,4,4\n"5305",2020-05-25,20.41,293,5,4\n"5306",2020-05-03,19.85,347,6,4\n"5307",2020-05-09,19.15,623,7,4\n"5308",2020-05-08,19.63,488,8,4\n"5309",2020-05-12,20.84,763,9,4\n"5310",2020-05-25,20.51,424,10,4\n"5311",2020-05-24,20.69,267,11,4\n"5312",2020-05-21,20.39,900,12,4\n"5313",2020-05-31,20.07,476,13,4\n"5314",2020-05-03,20.51,247,14,4\n"5315",2020-05-20,20.41,537,15,4\n"5316",2020-05-10,20.56,216,16,4\n"5317",2020-05-05,19.65,288,17,4\n"5318",2020-05-30,21.37,559,18,4\n"5319",2020-05-30,21.09,281,19,4\n"5320",2020-05-12,20.94,323,20,4\n"5321",2020-05-01,20.98,237,21,4\n"5322",2020-05-06,20.35,288,22,4\n"5323",2020-05-31,19.44,279,23,4\n"5324",2020-05-18,20.54,299,24,4\n"5325",2020-05-17,19.87,356,25,4\n"5326",2020-05-15,21.24,700,26,4\n"5327",2020-05-21,20.8,393,27,4\n"5328",2020-05-17,20.63,526,28,4\n"5329",2020-05-09,19.65,355,29,4\n"5330",2020-05-18,20.54,285,30,4\n"5331",2020-05-08,19.9,280,31,4\n"5332",2020-05-18,20.46,225,32,4\n"5333",2020-05-30,20.27,682,33,4\n"5334",2020-05-05,20.07,230,34,4\n"5335",2020-05-24,19.83,259,35,4\n"5336",2020-05-28,19.93,1022,36,4\n"5337",2020-05-15,19.72,251,37,4\n"5338",2020-05-16,19.17,376,38,4\n"5339",2020-05-26,19.87,177,39,4\n"5340",2020-05-29,20.13,317,40,4\n"5341",2020-05-22,19.5,394,41,4\n"5342",2020-05-23,20.43,991,42,4\n"5343",2020-05-12,19.79,298,43,4\n"5344",2020-05-21,20.66,648,44,4\n"5345",2020-05-04,21.6,365,45,4\n"5346",2020-05-04,19.94,415,46,4\n"5347",2020-05-02,19.15,774,47,4\n"5348",2020-05-31,22.36,394,48,4\n"5349",2020-05-04,20.74,281,49,4\n"5350",2020-05-15,19.52,316,50,4\n"5351",2020-05-13,19.55,524,51,4\n"5352",2020-05-27,20.44,476,52,4\n"5353",2020-05-12,19.87,454,53,4\n"5354",2020-05-11,20.34,316,54,4\n"5355",2020-05-06,20.03,758,55,4\n"5356",2020-05-26,19.85,326,56,4\n"5357",2020-05-02,21.53,464,57,4\n"5358",2020-05-21,20.52,517,58,4\n"5359",2020-05-22,20.54,152,59,4\n"5360",2020-05-18,20.73,178,60,4\n"5361",2020-05-15,20.23,604,61,4\n"5362",2020-05-21,20.23,622,62,4\n"5363",2020-05-21,19.64,400,63,4\n"5364",2020-05-23,20.27,599,64,4\n"5365",2020-05-20,20.29,295,65,4\n"5366",2020-05-12,20.49,997,66,4\n"5367",2020-05-09,19.74,177,67,4\n"5368",2020-05-22,20.04,405,68,4\n"5369",2020-05-27,19.42,352,69,4\n"5370",2020-05-13,19.42,1003,70,4\n"5371",2020-05-23,20.41,392,71,4\n"5372",2020-05-24,20.57,415,72,4\n"5373",2020-05-17,20.67,415,73,4\n"5374",2020-05-23,20.07,898,74,4\n"5375",2020-05-22,21.28,328,75,4\n"5376",2020-05-06,21.24,434,76,4\n"5377",2020-05-27,20.51,408,77,4\n"5378",2020-05-05,19.9,532,78,4\n"5379",2020-05-12,20.43,301,79,4\n"5380",2020-05-21,19.46,391,80,4\n"5381",2020-05-17,20.47,283,81,4\n"5382",2020-05-12,20.47,1355,82,4\n"5383",2020-05-17,20.52,227,83,4\n"5384",2020-05-27,21.3,503,84,4\n"5385",2020-05-29,20.54,336,85,4\n"5386",2020-05-22,18.58,571,86,4\n"5387",2020-05-07,20.62,296,87,4\n"5388",2020-05-17,20.56,510,88,4\n"5389",2020-05-02,20.04,174,89,4\n"5390",2020-05-20,21.25,320,90,4\n"5391",2020-05-07,19.79,657,91,4\n"5392",2020-05-31,20.17,417,92,4\n"5393",2020-05-29,20.19,552,93,4\n"5394",2020-05-26,20.57,371,94,4\n"5395",2020-05-25,19.58,582,95,4\n"5396",2020-05-19,19.05,1002,96,4\n"5397",2020-05-06,20.78,615,97,4\n"5398",2020-05-14,20.84,1651,98,4\n"5399",2020-05-04,19.81,290,99,4\n"5400",2020-05-22,20.37,494,100,4\n"5401",2020-05-08,22.23,259,1,5\n"5402",2020-05-20,19.96,1116,2,5\n"5403",2020-05-04,20.83,387,3,5\n"5404",2020-05-08,20.22,399,4,5\n"5405",2020-05-25,20.24,582,5,5\n"5406",2020-05-03,20.71,553,6,5\n"5407",2020-05-09,21.14,603,7,5\n"5408",2020-05-08,21.23,423,8,5\n"5409",2020-05-12,19.89,257,9,5\n"5410",2020-05-25,20.6,1167,10,5\n"5411",2020-05-24,21.34,618,11,5\n"5412",2020-05-21,21.71,358,12,5\n"5413",2020-05-31,20.27,761,13,5\n"5414",2020-05-03,20.84,462,14,5\n"5415",2020-05-20,20.74,343,15,5\n"5416",2020-05-10,20.63,441,16,5\n"5417",2020-05-05,19.78,296,17,5\n"5418",2020-05-30,19.58,247,18,5\n"5419",2020-05-30,20.07,384,19,5\n"5420",2020-05-12,19.87,689,20,5\n"5421",2020-05-01,20.23,375,21,5\n"5422",2020-05-06,19.78,918,22,5\n"5423",2020-05-31,20.87,248,23,5\n"5424",2020-05-18,20.17,380,24,5\n"5425",2020-05-17,20.34,829,25,5\n"5426",2020-05-15,20.73,237,26,5\n"5427",2020-05-21,20.24,331,27,5\n"5428",2020-05-17,20.93,569,28,5\n"5429",2020-05-09,20.52,789,29,5\n"5430",2020-05-18,20.28,342,30,5\n"5431",2020-05-08,21.51,305,31,5\n"5432",2020-05-18,20.06,557,32,5\n"5433",2020-05-30,20.45,262,33,5\n"5434",2020-05-05,19.22,452,34,5\n"5435",2020-05-24,20.44,169,35,5\n"5436",2020-05-28,20.57,561,36,5\n"5437",2020-05-15,20.26,508,37,5\n"5438",2020-05-16,20.65,496,38,5\n"5439",2020-05-26,21.82,300,39,5\n"5440",2020-05-29,19.4,804,40,5\n"5441",2020-05-22,21.1,732,41,5\n"5442",2020-05-23,19.56,305,42,5\n"5443",2020-05-12,20.08,422,43,5\n"5444",2020-05-21,20.55,697,44,5\n"5445",2020-05-04,21.47,572,45,5\n"5446",2020-05-04,21.18,765,46,5\n"5447",2020-05-02,20.66,523,47,5\n"5448",2020-05-31,20.41,723,48,5\n"5449",2020-05-04,21.16,1075,49,5\n"5450",2020-05-15,20.36,725,50,5\n"5451",2020-05-13,20.84,395,51,5\n"5452",2020-05-27,19.73,369,52,5\n"5453",2020-05-12,21.42,577,53,5\n"5454",2020-05-11,19.95,528,54,5\n"5455",2020-05-06,19.73,885,55,5\n"5456",2020-05-26,19.84,983,56,5\n"5457",2020-05-02,21.13,249,57,5\n"5458",2020-05-21,19.74,532,58,5\n"5459",2020-05-22,20.13,895,59,5\n"5460",2020-05-18,20.18,1014,60,5\n"5461",2020-05-15,20.85,570,61,5\n"5462",2020-05-21,19.46,333,62,5\n"5463",2020-05-21,21.27,373,63,5\n"5464",2020-05-23,21.22,483,64,5\n"5465",2020-05-20,20.14,286,65,5\n"5466",2020-05-12,21.41,577,66,5\n"5467",2020-05-09,20.03,692,67,5\n"5468",2020-05-22,18.85,298,68,5\n"5469",2020-05-27,19.7,640,69,5\n"5470",2020-05-13,20.82,419,70,5\n"5471",2020-05-23,20.42,907,71,5\n"5472",2020-05-24,21.79,583,72,5\n"5473",2020-05-17,20.34,467,73,5\n"5474",2020-05-23,21.44,482,74,5\n"5475",2020-05-22,20.45,306,75,5\n"5476",2020-05-06,21.01,420,76,5\n"5477",2020-05-27,20.98,602,77,5\n"5478",2020-05-05,20.4,543,78,5\n"5479",2020-05-12,21.47,431,79,5\n"5480",2020-05-21,21.07,602,80,5\n"5481",2020-05-17,20.55,180,81,5\n"5482",2020-05-12,20.74,448,82,5\n"5483",2020-05-17,20.86,419,83,5\n"5484",2020-05-27,20.87,728,84,5\n"5485",2020-05-29,19.34,824,85,5\n"5486",2020-05-22,20.23,670,86,5\n"5487",2020-05-07,20.93,543,87,5\n"5488",2020-05-17,20.16,679,88,5\n"5489",2020-05-02,21.25,684,89,5\n"5490",2020-05-20,20.45,443,90,5\n"5491",2020-05-07,21.38,707,91,5\n"5492",2020-05-31,20.39,265,92,5\n"5493",2020-05-29,20.73,604,93,5\n"5494",2020-05-26,20.36,188,94,5\n"5495",2020-05-25,20.74,324,95,5\n"5496",2020-05-19,20.86,627,96,5\n"5497",2020-05-06,19.47,486,97,5\n"5498",2020-05-14,19.8,270,98,5\n"5499",2020-05-04,19.56,226,99,5\n"5500",2020-05-22,21.37,1038,100,5\n"5501",2020-05-08,19.74,571,1,6\n"5502",2020-05-20,20.39,541,2,6\n"5503",2020-05-04,20.49,1512,3,6\n"5504",2020-05-08,21.09,619,4,6\n"5505",2020-05-25,20.36,760,5,6\n"5506",2020-05-03,20.71,569,6,6\n"5507",2020-05-09,20.74,252,7,6\n"5508",2020-05-08,22.13,485,8,6\n"5509",2020-05-12,20.01,436,9,6\n"5510",2020-05-25,20.03,584,10,6\n"5511",2020-05-24,20.82,594,11,6\n"5512",2020-05-21,21.13,510,12,6\n"5513",2020-05-31,20.75,417,13,6\n"5514",2020-05-03,20.06,242,14,6\n"5515",2020-05-20,21.41,650,15,6\n"5516",2020-05-10,19.56,348,16,6\n"5517",2020-05-05,21.03,963,17,6\n"5518",2020-05-30,21.54,592,18,6\n"5519",2020-05-30,19.79,500,19,6\n"5520",2020-05-12,19.46,253,20,6\n"5521",2020-05-01,20.17,401,21,6\n"5522",2020-05-06,20.11,622,22,6\n"5523",2020-05-31,20.09,659,23,6\n"5524",2020-05-18,20.47,222,24,6\n"5525",2020-05-17,19.18,232,25,6\n"5526",2020-05-15,21.45,137,26,6\n"5527",2020-05-21,20.2,256,27,6\n"5528",2020-05-17,20.17,476,28,6\n"5529",2020-05-09,19.27,332,29,6\n"5530",2020-05-18,19.84,440,30,6\n"5531",2020-05-08,20.33,252,31,6\n"5532",2020-05-18,20.58,544,32,6\n"5533",2020-05-30,20.83,1137,33,6\n"5534",2020-05-05,19.75,444,34,6\n"5535",2020-05-24,19.15,1225,35,6\n"5536",2020-05-28,20.38,958,36,6\n"5537",2020-05-15,20.29,278,37,6\n"5538",2020-05-16,19.83,419,38,6\n"5539",2020-05-26,21.17,487,39,6\n"5540",2020-05-29,22.32,408,40,6\n"5541",2020-05-22,19.8,102,41,6\n"5542",2020-05-23,20.53,261,42,6\n"5543",2020-05-12,20.61,327,43,6\n"5544",2020-05-21,19.48,558,44,6\n"5545",2020-05-04,20.57,308,45,6\n"5546",2020-05-04,20.94,231,46,6\n"5547",2020-05-02,20.43,980,47,6\n"5548",2020-05-31,19.74,306,48,6\n"5549",2020-05-04,20.91,823,49,6\n"5550",2020-05-15,20.05,608,50,6\n"5551",2020-05-13,19.86,535,51,6\n"5552",2020-05-27,19.28,261,52,6\n"5553",2020-05-12,20.21,685,53,6\n"5554",2020-05-11,20.62,540,54,6\n"5555",2020-05-06,20.02,246,55,6\n"5556",2020-05-26,20.35,323,56,6\n"5557",2020-05-02,20.53,634,57,6\n"5558",2020-05-21,19.75,483,58,6\n"5559",2020-05-22,20.83,709,59,6\n"5560",2020-05-18,19.16,330,60,6\n"5561",2020-05-15,19.87,605,61,6\n"5562",2020-05-21,19.95,817,62,6\n"5563",2020-05-21,20.59,1214,63,6\n"5564",2020-05-23,20.41,538,64,6\n"5565",2020-05-20,19.74,995,65,6\n"5566",2020-05-12,21.6,288,66,6\n"5567",2020-05-09,21.09,333,67,6\n"5568",2020-05-22,19.77,517,68,6\n"5569",2020-05-27,19.65,542,69,6\n"5570",2020-05-13,19.83,775,70,6\n"5571",2020-05-23,20.31,832,71,6\n"5572",2020-05-24,21.45,1496,72,6\n"5573",2020-05-17,21.18,279,73,6\n"5574",2020-05-23,20.89,256,74,6\n"5575",2020-05-22,19.42,283,75,6\n"5576",2020-05-06,19.06,676,76,6\n"5577",2020-05-27,20.46,508,77,6\n"5578",2020-05-05,20.54,133,78,6\n"5579",2020-05-12,19.86,461,79,6\n"5580",2020-05-21,20.15,262,80,6\n"5581",2020-05-17,20.37,699,81,6\n"5582",2020-05-12,20.89,532,82,6\n"5583",2020-05-17,20.46,505,83,6\n"5584",2020-05-27,20.18,1194,84,6\n"5585",2020-05-29,20.77,179,85,6\n"5586",2020-05-22,19.99,422,86,6\n"5587",2020-05-07,20.5,258,87,6\n"5588",2020-05-17,20.32,678,88,6\n"5589",2020-05-02,21.14,415,89,6\n"5590",2020-05-20,19.91,817,90,6\n"5591",2020-05-07,20.78,566,91,6\n"5592",2020-05-31,19.9,280,92,6\n"5593",2020-05-29,21.46,613,93,6\n"5594",2020-05-26,21.23,429,94,6\n"5595",2020-05-25,21.92,213,95,6\n"5596",2020-05-19,20.53,232,96,6\n"5597",2020-05-06,20.32,433,97,6\n"5598",2020-05-14,21.65,200,98,6\n"5599",2020-05-04,19.92,625,99,6\n"5600",2020-05-22,20.46,288,100,6\n"5601",2020-05-08,20.88,601,1,7\n"5602",2020-05-20,21.17,459,2,7\n"5603",2020-05-04,19.75,486,3,7\n"5604",2020-05-08,19.97,1256,4,7\n"5605",2020-05-25,20.47,370,5,7\n"5606",2020-05-03,20.53,299,6,7\n"5607",2020-05-09,21.5,668,7,7\n"5608",2020-05-08,19.49,233,8,7\n"5609",2020-05-12,19.39,903,9,7\n"5610",2020-05-25,21.08,891,10,7\n"5611",2020-05-24,20.77,335,11,7\n"5612",2020-05-21,20.5,393,12,7\n"5613",2020-05-31,19.92,303,13,7\n"5614",2020-05-03,21.21,213,14,7\n"5615",2020-05-20,20.38,416,15,7\n"5616",2020-05-10,20.38,528,16,7\n"5617",2020-05-05,20.71,644,17,7\n"5618",2020-05-30,20.66,1395,18,7\n"5619",2020-05-30,20.65,495,19,7\n"5620",2020-05-12,21.44,239,20,7\n"5621",2020-05-01,21.85,461,21,7\n"5622",2020-05-06,20.86,567,22,7\n"5623",2020-05-31,20.11,261,23,7\n"5624",2020-05-18,20.46,353,24,7\n"5625",2020-05-17,20.1,237,25,7\n"5626",2020-05-15,21.01,371,26,7\n"5627",2020-05-21,21.62,301,27,7\n"5628",2020-05-17,20.72,552,28,7\n"5629",2020-05-09,20.84,251,29,7\n"5630",2020-05-18,20.06,451,30,7\n"5631",2020-05-08,19.69,618,31,7\n"5632",2020-05-18,20.38,244,32,7\n"5633",2020-05-30,19.32,509,33,7\n"5634",2020-05-05,21.7,525,34,7\n"5635",2020-05-24,20.66,547,35,7\n"5636",2020-05-28,20.08,215,36,7\n"5637",2020-05-15,20.24,673,37,7\n"5638",2020-05-16,20.97,468,38,7\n"5639",2020-05-26,20.48,753,39,7\n"5640",2020-05-29,20.41,745,40,7\n"5641",2020-05-22,20.8,342,41,7\n"5642",2020-05-23,20.13,549,42,7\n"5643",2020-05-12,20.22,730,43,7\n"5644",2020-05-21,20.87,553,44,7\n"5645",2020-05-04,21.11,1159,45,7\n"5646",2020-05-04,19.19,384,46,7\n"5647",2020-05-02,21.13,334,47,7\n"5648",2020-05-31,21.02,655,48,7\n"5649",2020-05-04,19.62,674,49,7\n"5650",2020-05-15,20.56,198,50,7\n"5651",2020-05-13,20.57,222,51,7\n"5652",2020-05-27,19.53,906,52,7\n"5653",2020-05-12,21.08,1300,53,7\n"5654",2020-05-11,21.48,764,54,7\n"5655",2020-05-06,21.19,414,55,7\n"5656",2020-05-26,20.88,484,56,7\n"5657",2020-05-02,21.76,1181,57,7\n"5658",2020-05-21,20.5,758,58,7\n"5659",2020-05-22,19.98,998,59,7\n"5660",2020-05-18,20.46,411,60,7\n"5661",2020-05-15,20.41,805,61,7\n"5662",2020-05-21,21.15,959,62,7\n"5663",2020-05-21,19.61,373,63,7\n"5664",2020-05-23,19.4,490,64,7\n"5665",2020-05-20,21.24,406,65,7\n"5666",2020-05-12,20.56,208,66,7\n"5667",2020-05-09,20.14,423,67,7\n"5668",2020-05-22,19.91,298,68,7\n"5669",2020-05-27,19.58,390,69,7\n"5670",2020-05-13,21.9,307,70,7\n"5671",2020-05-23,21.02,745,71,7\n"5672",2020-05-24,19.93,587,72,7\n"5673",2020-05-17,19.46,371,73,7\n"5674",2020-05-23,20.01,1061,74,7\n"5675",2020-05-22,21.06,749,75,7\n"5676",2020-05-06,21,533,76,7\n"5677",2020-05-27,20.54,366,77,7\n"5678",2020-05-05,20.91,173,78,7\n"5679",2020-05-12,20.12,459,79,7\n"5680",2020-05-21,20.85,488,80,7\n"5681",2020-05-17,20,564,81,7\n"5682",2020-05-12,20.61,256,82,7\n"5683",2020-05-17,19.84,269,83,7\n"5684",2020-05-27,21.04,539,84,7\n"5685",2020-05-29,20.89,179,85,7\n"5686",2020-05-22,20.62,892,86,7\n"5687",2020-05-07,20.6,394,87,7\n"5688",2020-05-17,20.33,416,88,7\n"5689",2020-05-02,19.12,155,89,7\n"5690",2020-05-20,20.89,502,90,7\n"5691",2020-05-07,20.12,313,91,7\n"5692",2020-05-31,20.8,805,92,7\n"5693",2020-05-29,20.96,493,93,7\n"5694",2020-05-26,20.79,242,94,7\n"5695",2020-05-25,20.44,567,95,7\n"5696",2020-05-19,20.07,282,96,7\n"5697",2020-05-06,20.47,556,97,7\n"5698",2020-05-14,19.48,266,98,7\n"5699",2020-05-04,19.82,298,99,7\n"5700",2020-05-22,19.71,442,100,7\n"5701",2020-05-08,21.13,1115,1,8\n"5702",2020-05-20,21.38,291,2,8\n"5703",2020-05-04,19.98,780,3,8\n"5704",2020-05-08,20.08,1199,4,8\n"5705",2020-05-25,21.86,349,5,8\n"5706",2020-05-03,20.57,408,6,8\n"5707",2020-05-09,19.95,646,7,8\n"5708",2020-05-08,20.65,256,8,8\n"5709",2020-05-12,20.71,616,9,8\n"5710",2020-05-25,20.41,334,10,8\n"5711",2020-05-24,20.8,508,11,8\n"5712",2020-05-21,20.8,999,12,8\n"5713",2020-05-31,19.42,336,13,8\n"5714",2020-05-03,20.04,422,14,8\n"5715",2020-05-20,20.2,527,15,8\n"5716",2020-05-10,19.8,948,16,8\n"5717",2020-05-05,20.85,171,17,8\n"5718",2020-05-30,19.89,424,18,8\n"5719",2020-05-30,20.81,472,19,8\n"5720",2020-05-12,20.46,444,20,8\n"5721",2020-05-01,20.97,666,21,8\n"5722",2020-05-06,20.26,346,22,8\n"5723",2020-05-31,19.81,456,23,8\n"5724",2020-05-18,20.79,284,24,8\n"5725",2020-05-17,19.89,551,25,8\n"5726",2020-05-15,20.88,382,26,8\n"5727",2020-05-21,20.93,895,27,8\n"5728",2020-05-17,19.57,169,28,8\n"5729",2020-05-09,20.66,666,29,8\n"5730",2020-05-18,20.79,361,30,8\n"5731",2020-05-08,20.91,599,31,8\n"5732",2020-05-18,19.53,389,32,8\n"5733",2020-05-30,19.85,429,33,8\n"5734",2020-05-05,19.62,381,34,8\n"5735",2020-05-24,20.73,854,35,8\n"5736",2020-05-28,20.77,258,36,8\n"5737",2020-05-15,19.86,130,37,8\n"5738",2020-05-16,20.29,320,38,8\n"5739",2020-05-26,20.5,398,39,8\n"5740",2020-05-29,20.53,405,40,8\n"5741",2020-05-22,20.93,833,41,8\n"5742",2020-05-23,20.63,491,42,8\n"5743",2020-05-12,20.74,787,43,8\n"5744",2020-05-21,20.49,675,44,8\n"5745",2020-05-04,20.52,624,45,8\n"5746",2020-05-04,20.75,594,46,8\n"5747",2020-05-02,20,496,47,8\n"5748",2020-05-31,20.32,361,48,8\n"5749",2020-05-04,20.76,625,49,8\n"5750",2020-05-15,19.27,932,50,8\n"5751",2020-05-13,21.27,676,51,8\n"5752",2020-05-27,20,562,52,8\n"5753",2020-05-12,19.45,733,53,8\n"5754",2020-05-11,21.32,599,54,8\n"5755",2020-05-06,20.47,426,55,8\n"5756",2020-05-26,20.91,604,56,8\n"5757",2020-05-02,20.58,1080,57,8\n"5758",2020-05-21,20.74,157,58,8\n"5759",2020-05-22,21.24,173,59,8\n"5760",2020-05-18,21.34,543,60,8\n"5761",2020-05-15,20.25,229,61,8\n"5762",2020-05-21,20.44,475,62,8\n"5763",2020-05-21,19.42,1079,63,8\n"5764",2020-05-23,20.21,228,64,8\n"5765",2020-05-20,20.12,334,65,8\n"5766",2020-05-12,21.4,1053,66,8\n"5767",2020-05-09,19.74,636,67,8\n"5768",2020-05-22,21.57,132,68,8\n"5769",2020-05-27,20.48,391,69,8\n"5770",2020-05-13,20.12,601,70,8\n"5771",2020-05-23,20.19,307,71,8\n"5772",2020-05-24,21.01,404,72,8\n"5773",2020-05-17,20.3,869,73,8\n"5774",2020-05-23,21.18,527,74,8\n"5775",2020-05-22,19.33,671,75,8\n"5776",2020-05-06,21.14,782,76,8\n"5777",2020-05-27,20.29,404,77,8\n"5778",2020-05-05,21.05,421,78,8\n"5779",2020-05-12,19.43,491,79,8\n"5780",2020-05-21,20.3,533,80,8\n"5781",2020-05-17,20.64,582,81,8\n"5782",2020-05-12,20.26,584,82,8\n"5783",2020-05-17,20.62,465,83,8\n"5784",2020-05-27,19.62,319,84,8\n"5785",2020-05-29,20.73,377,85,8\n"5786",2020-05-22,21.71,674,86,8\n"5787",2020-05-07,21.28,544,87,8\n"5788",2020-05-17,19.82,539,88,8\n"5789",2020-05-02,19.93,743,89,8\n"5790",2020-05-20,19.68,538,90,8\n"5791",2020-05-07,21.94,301,91,8\n"5792",2020-05-31,20.54,343,92,8\n"5793",2020-05-29,20.79,536,93,8\n"5794",2020-05-26,19.47,678,94,8\n"5795",2020-05-25,20.19,851,95,8\n"5796",2020-05-19,20.37,336,96,8\n"5797",2020-05-06,20.59,416,97,8\n"5798",2020-05-14,20.22,598,98,8\n"5799",2020-05-04,20.3,336,99,8\n"5800",2020-05-22,20.44,357,100,8\n"5801",2020-05-08,20.24,390,1,9\n"5802",2020-05-20,21.64,852,2,9\n"5803",2020-05-04,18.95,489,3,9\n"5804",2020-05-08,19.12,219,4,9\n"5805",2020-05-25,20.79,187,5,9\n"5806",2020-05-03,20.7,365,6,9\n"5807",2020-05-09,21.12,1564,7,9\n"5808",2020-05-08,19.98,575,8,9\n"5809",2020-05-12,19.66,1726,9,9\n"5810",2020-05-25,19.72,270,10,9\n"5811",2020-05-24,21.22,550,11,9\n"5812",2020-05-21,20.48,470,12,9\n"5813",2020-05-31,22.28,374,13,9\n"5814",2020-05-03,19.1,392,14,9\n"5815",2020-05-20,20.09,432,15,9\n"5816",2020-05-10,20.09,456,16,9\n"5817",2020-05-05,20.98,478,17,9\n"5818",2020-05-30,20.52,804,18,9\n"5819",2020-05-30,20.88,472,19,9\n"5820",2020-05-12,20,990,20,9\n"5821",2020-05-01,20.84,327,21,9\n"5822",2020-05-06,21.12,666,22,9\n"5823",2020-05-31,19.87,398,23,9\n"5824",2020-05-18,21.29,598,24,9\n"5825",2020-05-17,20.71,417,25,9\n"5826",2020-05-15,20.2,558,26,9\n"5827",2020-05-21,20.71,1166,27,9\n"5828",2020-05-17,20.18,612,28,9\n"5829",2020-05-09,20.61,738,29,9\n"5830",2020-05-18,21.15,644,30,9\n"5831",2020-05-08,19.98,250,31,9\n"5832",2020-05-18,21.14,246,32,9\n"5833",2020-05-30,19.84,635,33,9\n"5834",2020-05-05,21.05,318,34,9\n"5835",2020-05-24,19.65,413,35,9\n"5836",2020-05-28,20.97,293,36,9\n"5837",2020-05-15,19.94,282,37,9\n"5838",2020-05-16,18.92,859,38,9\n"5839",2020-05-26,20.93,389,39,9\n"5840",2020-05-29,19.47,328,40,9\n"5841",2020-05-22,20.62,575,41,9\n"5842",2020-05-23,18.99,603,42,9\n"5843",2020-05-12,19.31,646,43,9\n"5844",2020-05-21,20.52,419,44,9\n"5845",2020-05-04,20.1,494,45,9\n"5846",2020-05-04,19.88,389,46,9\n"5847",2020-05-02,20.18,360,47,9\n"5848",2020-05-31,19.98,360,48,9\n"5849",2020-05-04,20.6,911,49,9\n"5850",2020-05-15,20.25,585,50,9\n"5851",2020-05-13,20.1,387,51,9\n"5852",2020-05-27,20.69,592,52,9\n"5853",2020-05-12,20.92,550,53,9\n"5854",2020-05-11,21.6,598,54,9\n"5855",2020-05-06,21.1,684,55,9\n"5856",2020-05-26,20.81,243,56,9\n"5857",2020-05-02,21.42,377,57,9\n"5858",2020-05-21,20.19,379,58,9\n"5859",2020-05-22,20.77,393,59,9\n"5860",2020-05-18,20.27,424,60,9\n"5861",2020-05-15,19.34,455,61,9\n"5862",2020-05-21,19.78,317,62,9\n"5863",2020-05-21,20.01,630,63,9\n"5864",2020-05-23,21.04,325,64,9\n"5865",2020-05-20,20.08,370,65,9\n"5866",2020-05-12,20.21,335,66,9\n"5867",2020-05-09,19.47,725,67,9\n"5868",2020-05-22,21,433,68,9\n"5869",2020-05-27,20.26,503,69,9\n"5870",2020-05-13,20.71,533,70,9\n"5871",2020-05-23,20.51,567,71,9\n"5872",2020-05-24,20.88,287,72,9\n"5873",2020-05-17,19.91,1099,73,9\n"5874",2020-05-23,20.26,354,74,9\n"5875",2020-05-22,20.49,785,75,9\n"5876",2020-05-06,19.3,800,76,9\n"5877",2020-05-27,20.28,243,77,9\n"5878",2020-05-05,20.08,803,78,9\n"5879",2020-05-12,20.08,344,79,9\n"5880",2020-05-21,20.08,462,80,9\n"5881",2020-05-17,19.63,515,81,9\n"5882",2020-05-12,19.37,722,82,9\n"5883",2020-05-17,21.39,814,83,9\n"5884",2020-05-27,20.59,273,84,9\n"5885",2020-05-29,20.25,329,85,9\n"5886",2020-05-22,20.44,361,86,9\n"5887",2020-05-07,20.18,215,87,9\n"5888",2020-05-17,20.95,791,88,9\n"5889",2020-05-02,20.81,118,89,9\n"5890",2020-05-20,19.15,312,90,9\n"5891",2020-05-07,20.84,234,91,9\n"5892",2020-05-31,20.61,862,92,9\n"5893",2020-05-29,20.72,433,93,9\n"5894",2020-05-26,20.28,929,94,9\n"5895",2020-05-25,19.64,406,95,9\n"5896",2020-05-19,19.77,876,96,9\n"5897",2020-05-06,20.83,415,97,9\n"5898",2020-05-14,19.95,714,98,9\n"5899",2020-05-04,21.45,310,99,9\n"5900",2020-05-22,19.52,851,100,9\n"5901",2020-05-08,20.71,480,1,10\n"5902",2020-05-20,20.68,587,2,10\n"5903",2020-05-04,19.89,816,3,10\n"5904",2020-05-08,20.64,265,4,10\n"5905",2020-05-25,20.94,500,5,10\n"5906",2020-05-03,19.35,411,6,10\n"5907",2020-05-09,19.54,523,7,10\n"5908",2020-05-08,20.08,620,8,10\n"5909",2020-05-12,20.28,603,9,10\n"5910",2020-05-25,21.41,691,10,10\n"5911",2020-05-24,20.36,274,11,10\n"5912",2020-05-21,20.14,231,12,10\n"5913",2020-05-31,19.04,309,13,10\n"5914",2020-05-03,19.49,918,14,10\n"5915",2020-05-20,21.03,205,15,10\n"5916",2020-05-10,20.82,528,16,10\n"5917",2020-05-05,20.72,471,17,10\n"5918",2020-05-30,20.36,462,18,10\n"5919",2020-05-30,21.2,719,19,10\n"5920",2020-05-12,21.18,658,20,10\n"5921",2020-05-01,20.77,511,21,10\n"5922",2020-05-06,21.31,2163,22,10\n"5923",2020-05-31,19.75,247,23,10\n"5924",2020-05-18,19.99,612,24,10\n"5925",2020-05-17,20.33,402,25,10\n"5926",2020-05-15,19.5,219,26,10\n"5927",2020-05-21,20.78,351,27,10\n"5928",2020-05-17,20.83,297,28,10\n"5929",2020-05-09,20.17,180,29,10\n"5930",2020-05-18,20.61,321,30,10\n"5931",2020-05-08,18.91,691,31,10\n"5932",2020-05-18,20.24,385,32,10\n"5933",2020-05-30,20.25,461,33,10\n"5934",2020-05-05,20.59,168,34,10\n"5935",2020-05-24,20.84,254,35,10\n"5936",2020-05-28,20.62,456,36,10\n"5937",2020-05-15,21.31,263,37,10\n"5938",2020-05-16,20.37,286,38,10\n"5939",2020-05-26,19.77,483,39,10\n"5940",2020-05-29,20.61,491,40,10\n"5941",2020-05-22,19.98,363,41,10\n"5942",2020-05-23,20.67,419,42,10\n"5943",2020-05-12,20.62,309,43,10\n"5944",2020-05-21,19.47,294,44,10\n"5945",2020-05-04,20.94,759,45,10\n"5946",2020-05-04,20.28,222,46,10\n"5947",2020-05-02,19.43,803,47,10\n"5948",2020-05-31,21.4,190,48,10\n"5949",2020-05-04,20.8,378,49,10\n"5950",2020-05-15,21.23,933,50,10\n"5951",2020-05-13,20.79,457,51,10\n"5952",2020-05-27,19.2,807,52,10\n"5953",2020-05-12,20.86,483,53,10\n"5954",2020-05-11,20.27,417,54,10\n"5955",2020-05-06,19.88,332,55,10\n"5956",2020-05-26,20.18,437,56,10\n"5957",2020-05-02,20.36,278,57,10\n"5958",2020-05-21,20.29,587,58,10\n"5959",2020-05-22,19.3,476,59,10\n"5960",2020-05-18,19.41,623,60,10\n"5961",2020-05-15,19.97,448,61,10\n"5962",2020-05-21,19.39,734,62,10\n"5963",2020-05-21,19.99,423,63,10\n"5964",2020-05-23,20.07,682,64,10\n"5965",2020-05-20,21.03,683,65,10\n"5966",2020-05-12,19.07,444,66,10\n"5967",2020-05-09,21.03,392,67,10\n"5968",2020-05-22,20.78,430,68,10\n"5969",2020-05-27,20.3,421,69,10\n"5970",2020-05-13,20.05,461,70,10\n"5971",2020-05-23,20.49,953,71,10\n"5972",2020-05-24,19.95,599,72,10\n"5973",2020-05-17,20.86,454,73,10\n"5974",2020-05-23,19.69,975,74,10\n"5975",2020-05-22,20.47,229,75,10\n"5976",2020-05-06,20.38,393,76,10\n"5977",2020-05-27,19.87,234,77,10\n"5978",2020-05-05,21.4,758,78,10\n"5979",2020-05-12,20.01,684,79,10\n"5980",2020-05-21,19.43,487,80,10\n"5981",2020-05-17,20.98,663,81,10\n"5982",2020-05-12,20.7,538,82,10\n"5983",2020-05-17,19.82,870,83,10\n"5984",2020-05-27,20.32,339,84,10\n"5985",2020-05-29,19.65,358,85,10\n"5986",2020-05-22,20.21,424,86,10\n"5987",2020-05-07,20,266,87,10\n"5988",2020-05-17,21,560,88,10\n"5989",2020-05-02,20.67,1568,89,10\n"5990",2020-05-20,21.05,537,90,10\n"5991",2020-05-07,20.81,235,91,10\n"5992",2020-05-31,21,503,92,10\n"5993",2020-05-29,20.25,606,93,10\n"5994",2020-05-26,19.93,508,94,10\n"5995",2020-05-25,20.1,395,95,10\n"5996",2020-05-19,20.69,1437,96,10\n"5997",2020-05-06,20.28,1102,97,10\n"5998",2020-05-14,20.58,546,98,10\n"5999",2020-05-04,21.19,534,99,10\n"6000",2020-05-22,19.12,411,100,10\n"6001",2020-06-14,19.08,427,1,1\n"6002",2020-06-19,19.6,618,2,1\n"6003",2020-06-25,21.1,664,3,1\n"6004",2020-06-10,18.72,499,4,1\n"6005",2020-06-02,19.92,266,5,1\n"6006",2020-06-14,19.57,1159,6,1\n"6007",2020-06-18,21.07,341,7,1\n"6008",2020-06-19,20.11,265,8,1\n"6009",2020-06-19,18.88,196,9,1\n"6010",2020-06-12,20.01,258,10,1\n"6011",2020-06-09,21.53,256,11,1\n"6012",2020-06-28,19.93,1113,12,1\n"6013",2020-06-03,20.75,412,13,1\n"6014",2020-06-07,19.91,314,14,1\n"6015",2020-06-29,19.8,351,15,1\n"6016",2020-06-07,20.28,268,16,1\n"6017",2020-06-05,19.89,357,17,1\n"6018",2020-06-03,20.29,114,18,1\n"6019",2020-06-25,20.87,263,19,1\n"6020",2020-06-02,20.87,492,20,1\n"6021",2020-06-21,20.24,482,21,1\n"6022",2020-06-20,20.27,501,22,1\n"6023",2020-06-18,20.91,1307,23,1\n"6024",2020-06-02,19.69,102,24,1\n"6025",2020-06-24,20.97,580,25,1\n"6026",2020-06-09,20.04,429,26,1\n"6027",2020-06-13,21.31,328,27,1\n"6028",2020-06-29,19.93,408,28,1\n"6029",2020-06-12,20.09,303,29,1\n"6030",2020-06-13,20.32,389,30,1\n"6031",2020-06-01,19.64,203,31,1\n"6032",2020-06-28,19.44,325,32,1\n"6033",2020-06-17,20.37,789,33,1\n"6034",2020-06-18,20.45,211,34,1\n"6035",2020-06-18,20.03,435,35,1\n"6036",2020-06-02,20.12,739,36,1\n"6037",2020-06-27,20.4,247,37,1\n"6038",2020-06-06,19.7,300,38,1\n"6039",2020-06-17,19.56,536,39,1\n"6040",2020-06-12,20.61,682,40,1\n"6041",2020-06-06,20.27,722,41,1\n"6042",2020-06-10,20.4,384,42,1\n"6043",2020-06-26,19.89,390,43,1\n"6044",2020-06-10,20.39,350,44,1\n"6045",2020-06-16,20.06,319,45,1\n"6046",2020-06-13,20.57,265,46,1\n"6047",2020-06-30,20.8,551,47,1\n"6048",2020-06-05,20.37,169,48,1\n"6049",2020-06-17,20.42,698,49,1\n"6050",2020-06-21,19.86,252,50,1\n"6051",2020-06-15,19.32,445,51,1\n"6052",2020-06-18,20.28,223,52,1\n"6053",2020-06-21,18.87,956,53,1\n"6054",2020-06-08,20.66,305,54,1\n"6055",2020-06-19,19.77,104,55,1\n"6056",2020-06-08,20.36,301,56,1\n"6057",2020-06-11,20.23,341,57,1\n"6058",2020-06-10,20.24,207,58,1\n"6059",2020-06-22,19.26,240,59,1\n"6060",2020-06-26,20.46,459,60,1\n"6061",2020-06-07,20.66,745,61,1\n"6062",2020-06-26,20.61,311,62,1\n"6063",2020-06-01,20.42,187,63,1\n"6064",2020-06-20,19.63,514,64,1\n"6065",2020-06-11,20.75,650,65,1\n"6066",2020-06-07,21.09,456,66,1\n"6067",2020-06-22,20.72,280,67,1\n"6068",2020-06-22,19.28,520,68,1\n"6069",2020-06-24,20.25,378,69,1\n"6070",2020-06-20,19.24,614,70,1\n"6071",2020-06-09,19.28,632,71,1\n"6072",2020-06-30,19.63,440,72,1\n"6073",2020-06-08,20.62,399,73,1\n"6074",2020-06-03,20.3,508,74,1\n"6075",2020-06-27,21.06,201,75,1\n"6076",2020-06-27,20.17,145,76,1\n"6077",2020-06-01,19.01,286,77,1\n"6078",2020-06-12,19.43,99,78,1\n"6079",2020-06-29,19.85,268,79,1\n"6080",2020-06-17,20.41,329,80,1\n"6081",2020-06-28,20.2,725,81,1\n"6082",2020-06-05,20.33,339,82,1\n"6083",2020-06-08,19.46,220,83,1\n"6084",2020-06-16,19.96,593,84,1\n"6085",2020-06-29,20.41,418,85,1\n"6086",2020-06-25,19.56,440,86,1\n"6087",2020-06-20,20.37,437,87,1\n"6088",2020-06-08,19.8,421,88,1\n"6089",2020-06-18,19.59,206,89,1\n"6090",2020-06-21,19.51,883,90,1\n"6091",2020-06-28,20.83,620,91,1\n"6092",2020-06-03,21.27,342,92,1\n"6093",2020-06-18,20.64,497,93,1\n"6094",2020-06-12,20.86,169,94,1\n"6095",2020-06-18,20.98,813,95,1\n"6096",2020-06-22,19.56,244,96,1\n"6097",2020-06-26,21.63,262,97,1\n"6098",2020-06-05,20.04,205,98,1\n"6099",2020-06-25,19.8,558,99,1\n"6100",2020-06-22,20.45,270,100,1\n"6101",2020-06-14,20.84,248,1,2\n"6102",2020-06-19,20.45,311,2,2\n"6103",2020-06-25,19.58,143,3,2\n"6104",2020-06-10,18.95,632,4,2\n"6105",2020-06-02,20.01,220,5,2\n"6106",2020-06-14,20.76,835,6,2\n"6107",2020-06-18,20.7,379,7,2\n"6108",2020-06-19,19.73,539,8,2\n"6109",2020-06-19,20.05,410,9,2\n"6110",2020-06-12,20.01,414,10,2\n"6111",2020-06-09,20.11,302,11,2\n"6112",2020-06-28,20.66,406,12,2\n"6113",2020-06-03,20.05,385,13,2\n"6114",2020-06-07,19.96,539,14,2\n"6115",2020-06-29,19.14,416,15,2\n"6116",2020-06-07,19.96,342,16,2\n"6117",2020-06-05,20.47,361,17,2\n"6118",2020-06-03,20.45,182,18,2\n"6119",2020-06-25,20.53,366,19,2\n"6120",2020-06-02,21.27,869,20,2\n"6121",2020-06-21,19.86,277,21,2\n"6122",2020-06-20,20.82,340,22,2\n"6123",2020-06-18,20.13,150,23,2\n"6124",2020-06-02,21.21,597,24,2\n"6125",2020-06-24,19.8,326,25,2\n"6126",2020-06-09,20.81,135,26,2\n"6127",2020-06-13,20.25,435,27,2\n"6128",2020-06-29,20.29,310,28,2\n"6129",2020-06-12,19.79,278,29,2\n"6130",2020-06-13,20.2,341,30,2\n"6131",2020-06-01,19.92,239,31,2\n"6132",2020-06-28,20.23,444,32,2\n"6133",2020-06-17,20.93,680,33,2\n"6134",2020-06-18,20.21,722,34,2\n"6135",2020-06-18,19.92,204,35,2\n"6136",2020-06-02,20.03,221,36,2\n"6137",2020-06-27,20.88,281,37,2\n"6138",2020-06-06,19.55,226,38,2\n"6139",2020-06-17,19.12,160,39,2\n"6140",2020-06-12,19.19,586,40,2\n"6141",2020-06-06,20.49,154,41,2\n"6142",2020-06-10,20.12,137,42,2\n"6143",2020-06-26,19.85,529,43,2\n"6144",2020-06-10,20.42,473,44,2\n"6145",2020-06-16,19.87,342,45,2\n"6146",2020-06-13,19.86,282,46,2\n"6147",2020-06-30,20.69,484,47,2\n"6148",2020-06-05,20.98,520,48,2\n"6149",2020-06-17,18.44,504,49,2\n"6150",2020-06-21,19.98,456,50,2\n"6151",2020-06-15,19.83,546,51,2\n"6152",2020-06-18,19.41,480,52,2\n"6153",2020-06-21,18.52,369,53,2\n"6154",2020-06-08,19.44,380,54,2\n"6155",2020-06-19,19.73,640,55,2\n"6156",2020-06-08,20.05,407,56,2\n"6157",2020-06-11,19.62,682,57,2\n"6158",2020-06-10,19.65,833,58,2\n"6159",2020-06-22,20.8,245,59,2\n"6160",2020-06-26,20.46,1002,60,2\n"6161",2020-06-07,20.04,231,61,2\n"6162",2020-06-26,20.35,282,62,2\n"6163",2020-06-01,19.79,806,63,2\n"6164",2020-06-20,20.19,323,64,2\n"6165",2020-06-11,19.88,1352,65,2\n"6166",2020-06-07,20.45,210,66,2\n"6167",2020-06-22,20.07,250,67,2\n"6168",2020-06-22,20.3,372,68,2\n"6169",2020-06-24,20.36,243,69,2\n"6170",2020-06-20,20.55,230,70,2\n"6171",2020-06-09,20.81,387,71,2\n"6172",2020-06-30,19.95,393,72,2\n"6173",2020-06-08,19.63,243,73,2\n"6174",2020-06-03,20.49,379,74,2\n"6175",2020-06-27,19.88,238,75,2\n"6176",2020-06-27,20.47,1049,76,2\n"6177",2020-06-01,20.03,606,77,2\n"6178",2020-06-12,20.48,544,78,2\n"6179",2020-06-29,20.33,289,79,2\n"6180",2020-06-17,20.09,190,80,2\n"6181",2020-06-28,20.41,143,81,2\n"6182",2020-06-05,20.49,253,82,2\n"6183",2020-06-08,19.78,160,83,2\n"6184",2020-06-16,20.52,285,84,2\n"6185",2020-06-29,19.81,308,85,2\n"6186",2020-06-25,20.13,523,86,2\n"6187",2020-06-20,20.5,273,87,2\n"6188",2020-06-08,20.96,178,88,2\n"6189",2020-06-18,20.02,497,89,2\n"6190",2020-06-21,19.48,290,90,2\n"6191",2020-06-28,20.03,297,91,2\n"6192",2020-06-03,19.88,476,92,2\n"6193",2020-06-18,20.44,119,93,2\n"6194",2020-06-12,20.33,443,94,2\n"6195",2020-06-18,19.67,344,95,2\n"6196",2020-06-22,20.89,392,96,2\n"6197",2020-06-26,21.25,222,97,2\n"6198",2020-06-05,20.25,377,98,2\n"6199",2020-06-25,20.36,509,99,2\n"6200",2020-06-22,20.26,223,100,2\n"6201",2020-06-14,20.05,656,1,3\n"6202",2020-06-19,19.26,310,2,3\n"6203",2020-06-25,20.59,594,3,3\n"6204",2020-06-10,20.5,844,4,3\n"6205",2020-06-02,19.68,253,5,3\n"6206",2020-06-14,20.02,294,6,3\n"6207",2020-06-18,19.86,308,7,3\n"6208",2020-06-19,20.73,572,8,3\n"6209",2020-06-19,20,312,9,3\n"6210",2020-06-12,21.05,344,10,3\n"6211",2020-06-09,19.86,355,11,3\n"6212",2020-06-28,20.27,313,12,3\n"6213",2020-06-03,19.4,266,13,3\n"6214",2020-06-07,20.56,388,14,3\n"6215",2020-06-29,20.35,220,15,3\n"6216",2020-06-07,21.47,932,16,3\n"6217",2020-06-05,20.2,456,17,3\n"6218",2020-06-03,21.22,302,18,3\n"6219",2020-06-25,19.73,445,19,3\n"6220",2020-06-02,20.29,319,20,3\n"6221",2020-06-21,20.04,261,21,3\n"6222",2020-06-20,19.45,393,22,3\n"6223",2020-06-18,20.87,373,23,3\n"6224",2020-06-02,19.98,557,24,3\n"6225",2020-06-24,21.31,439,25,3\n"6226",2020-06-09,21.08,466,26,3\n"6227",2020-06-13,20.12,385,27,3\n"6228",2020-06-29,19.8,362,28,3\n"6229",2020-06-12,20.08,318,29,3\n"6230",2020-06-13,20.34,490,30,3\n"6231",2020-06-01,20.51,1096,31,3\n"6232",2020-06-28,20.67,442,32,3\n"6233",2020-06-17,20.16,571,33,3\n"6234",2020-06-18,19.72,445,34,3\n"6235",2020-06-18,19.58,450,35,3\n"6236",2020-06-02,19.74,689,36,3\n"6237",2020-06-27,20.35,238,37,3\n"6238",2020-06-06,19.84,304,38,3\n"6239",2020-06-17,20.12,248,39,3\n"6240",2020-06-12,19.33,269,40,3\n"6241",2020-06-06,20.04,482,41,3\n"6242",2020-06-10,20.74,327,42,3\n"6243",2020-06-26,19.56,586,43,3\n"6244",2020-06-10,19.91,554,44,3\n"6245",2020-06-16,20.94,171,45,3\n"6246",2020-06-13,19.16,203,46,3\n"6247",2020-06-30,20.92,349,47,3\n"6248",2020-06-05,20.56,484,48,3\n"6249",2020-06-17,20.51,676,49,3\n"6250",2020-06-21,19.22,628,50,3\n"6251",2020-06-15,19.25,726,51,3\n"6252",2020-06-18,19.99,308,52,3\n"6253",2020-06-21,20.12,431,53,3\n"6254",2020-06-08,20.39,170,54,3\n"6255",2020-06-19,20.05,246,55,3\n"6256",2020-06-08,19.79,248,56,3\n"6257",2020-06-11,19.56,717,57,3\n"6258",2020-06-10,20.17,225,58,3\n"6259",2020-06-22,19.45,628,59,3\n"6260",2020-06-26,20.45,129,60,3\n"6261",2020-06-07,19.44,698,61,3\n"6262",2020-06-26,20.66,554,62,3\n"6263",2020-06-01,20.83,549,63,3\n"6264",2020-06-20,19.72,190,64,3\n"6265",2020-06-11,20.35,440,65,3\n"6266",2020-06-07,20.24,299,66,3\n"6267",2020-06-22,19.73,125,67,3\n"6268",2020-06-22,19.75,232,68,3\n"6269",2020-06-24,20.07,305,69,3\n"6270",2020-06-20,19.78,199,70,3\n"6271",2020-06-09,20.64,122,71,3\n"6272",2020-06-30,19.64,316,72,3\n"6273",2020-06-08,19.82,348,73,3\n"6274",2020-06-03,19.57,378,74,3\n"6275",2020-06-27,19.64,482,75,3\n"6276",2020-06-27,20.02,181,76,3\n"6277",2020-06-01,21.15,446,77,3\n"6278",2020-06-12,21.03,317,78,3\n"6279",2020-06-29,20.49,487,79,3\n"6280",2020-06-17,19.73,273,80,3\n"6281",2020-06-28,20.59,172,81,3\n"6282",2020-06-05,19.92,173,82,3\n"6283",2020-06-08,19.71,344,83,3\n"6284",2020-06-16,19.66,453,84,3\n"6285",2020-06-29,19.68,745,85,3\n"6286",2020-06-25,19.87,161,86,3\n"6287",2020-06-20,20.12,215,87,3\n"6288",2020-06-08,19.57,327,88,3\n"6289",2020-06-18,20.69,186,89,3\n"6290",2020-06-21,19.5,269,90,3\n"6291",2020-06-28,20.66,278,91,3\n"6292",2020-06-03,19.78,106,92,3\n"6293",2020-06-18,20.27,515,93,3\n"6294",2020-06-12,21.13,420,94,3\n"6295",2020-06-18,20.41,192,95,3\n"6296",2020-06-22,19.57,175,96,3\n"6297",2020-06-26,19.64,234,97,3\n"6298",2020-06-05,21.45,560,98,3\n"6299",2020-06-25,20.44,180,99,3\n"6300",2020-06-22,20.52,808,100,3\n"6301",2020-06-14,20.21,163,1,4\n"6302",2020-06-19,19.55,138,2,4\n"6303",2020-06-25,19.81,339,3,4\n"6304",2020-06-10,20.06,162,4,4\n"6305",2020-06-02,19.76,548,5,4\n"6306",2020-06-14,19.94,432,6,4\n"6307",2020-06-18,20.51,479,7,4\n"6308",2020-06-19,20.61,176,8,4\n"6309",2020-06-19,19.77,288,9,4\n"6310",2020-06-12,18.97,468,10,4\n"6311",2020-06-09,19.34,255,11,4\n"6312",2020-06-28,19.57,333,12,4\n"6313",2020-06-03,20.3,591,13,4\n"6314",2020-06-07,18.65,370,14,4\n"6315",2020-06-29,18.48,199,15,4\n"6316",2020-06-07,20.46,195,16,4\n"6317",2020-06-05,19,365,17,4\n"6318",2020-06-03,20.15,504,18,4\n"6319",2020-06-25,21.07,321,19,4\n"6320",2020-06-02,19.61,470,20,4\n"6321",2020-06-21,19.34,323,21,4\n"6322",2020-06-20,20.29,320,22,4\n"6323",2020-06-18,20.33,313,23,4\n"6324",2020-06-02,20.58,439,24,4\n"6325",2020-06-24,20.05,253,25,4\n"6326",2020-06-09,19.71,310,26,4\n"6327",2020-06-13,20.75,305,27,4\n"6328",2020-06-29,18.85,488,28,4\n"6329",2020-06-12,19.88,335,29,4\n"6330",2020-06-13,19.14,245,30,4\n"6331",2020-06-01,20,548,31,4\n"6332",2020-06-28,19.75,100,32,4\n"6333",2020-06-17,20.34,377,33,4\n"6334",2020-06-18,20.46,284,34,4\n"6335",2020-06-18,20.79,283,35,4\n"6336",2020-06-02,20.27,523,36,4\n"6337",2020-06-27,20.17,246,37,4\n"6338",2020-06-06,20.01,240,38,4\n"6339",2020-06-17,20.42,305,39,4\n"6340",2020-06-12,21.31,402,40,4\n"6341",2020-06-06,20.94,291,41,4\n"6342",2020-06-10,19.77,631,42,4\n"6343",2020-06-26,19.86,222,43,4\n"6344",2020-06-10,20.68,464,44,4\n"6345",2020-06-16,20.29,439,45,4\n"6346",2020-06-13,19.36,237,46,4\n"6347",2020-06-30,19.89,214,47,4\n"6348",2020-06-05,19.99,193,48,4\n"6349",2020-06-17,19.74,334,49,4\n"6350",2020-06-21,20.83,339,50,4\n"6351",2020-06-15,19.86,300,51,4\n"6352",2020-06-18,20.51,358,52,4\n"6353",2020-06-21,19.11,352,53,4\n"6354",2020-06-08,20.5,146,54,4\n"6355",2020-06-19,20.47,292,55,4\n"6356",2020-06-08,20.29,218,56,4\n"6357",2020-06-11,19.87,252,57,4\n"6358",2020-06-10,19.94,178,58,4\n"6359",2020-06-22,19.75,997,59,4\n"6360",2020-06-26,19.92,470,60,4\n"6361",2020-06-07,18.91,570,61,4\n"6362",2020-06-26,19.92,270,62,4\n"6363",2020-06-01,19.24,686,63,4\n"6364",2020-06-20,19.98,935,64,4\n"6365",2020-06-11,19.66,476,65,4\n"6366",2020-06-07,20.27,652,66,4\n"6367",2020-06-22,19.77,267,67,4\n"6368",2020-06-22,20.05,771,68,4\n"6369",2020-06-24,20.63,307,69,4\n"6370",2020-06-20,20.09,535,70,4\n"6371",2020-06-09,20.35,521,71,4\n"6372",2020-06-30,19.34,329,72,4\n"6373",2020-06-08,19.88,344,73,4\n"6374",2020-06-03,19.53,213,74,4\n"6375",2020-06-27,20.36,663,75,4\n"6376",2020-06-27,20.75,1015,76,4\n"6377",2020-06-01,19.93,165,77,4\n"6378",2020-06-12,19.32,474,78,4\n"6379",2020-06-29,20.56,283,79,4\n"6380",2020-06-17,19.37,353,80,4\n"6381",2020-06-28,19.99,556,81,4\n"6382",2020-06-05,20.34,614,82,4\n"6383",2020-06-08,20.23,553,83,4\n"6384",2020-06-16,19.7,670,84,4\n"6385",2020-06-29,20.07,367,85,4\n"6386",2020-06-25,18.76,832,86,4\n"6387",2020-06-20,21.18,475,87,4\n"6388",2020-06-08,20.28,837,88,4\n"6389",2020-06-18,19.74,463,89,4\n"6390",2020-06-21,19.07,401,90,4\n"6391",2020-06-28,21.13,592,91,4\n"6392",2020-06-03,21.04,756,92,4\n"6393",2020-06-18,20.91,403,93,4\n"6394",2020-06-12,20.39,722,94,4\n"6395",2020-06-18,20.56,523,95,4\n"6396",2020-06-22,20.47,394,96,4\n"6397",2020-06-26,21.06,342,97,4\n"6398",2020-06-05,20.37,289,98,4\n"6399",2020-06-25,20.87,432,99,4\n"6400",2020-06-22,20.27,476,100,4\n"6401",2020-06-14,19.79,539,1,5\n"6402",2020-06-19,20.61,506,2,5\n"6403",2020-06-25,18.74,277,3,5\n"6404",2020-06-10,19.83,480,4,5\n"6405",2020-06-02,19.74,214,5,5\n"6406",2020-06-14,20.57,454,6,5\n"6407",2020-06-18,19.83,628,7,5\n"6408",2020-06-19,21.03,316,8,5\n"6409",2020-06-19,21.1,242,9,5\n"6410",2020-06-12,20.15,294,10,5\n"6411",2020-06-09,19.54,843,11,5\n"6412",2020-06-28,20.72,429,12,5\n"6413",2020-06-03,20.2,363,13,5\n"6414",2020-06-07,19.53,164,14,5\n"6415",2020-06-29,20.17,477,15,5\n"6416",2020-06-07,19.52,365,16,5\n"6417",2020-06-05,20.1,798,17,5\n"6418",2020-06-03,19.62,329,18,5\n"6419",2020-06-25,19.57,300,19,5\n"6420",2020-06-02,20.31,524,20,5\n"6421",2020-06-21,19.58,215,21,5\n"6422",2020-06-20,20.73,287,22,5\n"6423",2020-06-18,20.44,570,23,5\n"6424",2020-06-02,20.16,275,24,5\n"6425",2020-06-24,20.51,232,25,5\n"6426",2020-06-09,20.01,248,26,5\n"6427",2020-06-13,19.76,664,27,5\n"6428",2020-06-29,21.01,462,28,5\n"6429",2020-06-12,19.73,287,29,5\n"6430",2020-06-13,20.5,171,30,5\n"6431",2020-06-01,20.24,280,31,5\n"6432",2020-06-28,19.2,251,32,5\n"6433",2020-06-17,20.44,508,33,5\n"6434",2020-06-18,20.28,261,34,5\n"6435",2020-06-18,19.26,236,35,5\n"6436",2020-06-02,20.26,305,36,5\n"6437",2020-06-27,20.51,362,37,5\n"6438",2020-06-06,19.85,342,38,5\n"6439",2020-06-17,19.88,161,39,5\n"6440",2020-06-12,20.97,330,40,5\n"6441",2020-06-06,21.15,604,41,5\n"6442",2020-06-10,20.74,339,42,5\n"6443",2020-06-26,19.86,360,43,5\n"6444",2020-06-10,20.58,429,44,5\n"6445",2020-06-16,19.72,769,45,5\n"6446",2020-06-13,20.3,137,46,5\n"6447",2020-06-30,20.34,241,47,5\n"6448",2020-06-05,19.73,136,48,5\n"6449",2020-06-17,20.69,316,49,5\n"6450",2020-06-21,19.82,335,50,5\n"6451",2020-06-15,20.7,296,51,5\n"6452",2020-06-18,20.51,203,52,5\n"6453",2020-06-21,20.19,400,53,5\n"6454",2020-06-08,21.7,588,54,5\n"6455",2020-06-19,19.28,400,55,5\n"6456",2020-06-08,20.04,578,56,5\n"6457",2020-06-11,20.96,523,57,5\n"6458",2020-06-10,20.04,317,58,5\n"6459",2020-06-22,20.95,445,59,5\n"6460",2020-06-26,19.67,481,60,5\n"6461",2020-06-07,20.34,138,61,5\n"6462",2020-06-26,19.76,1156,62,5\n"6463",2020-06-01,19.55,273,63,5\n"6464",2020-06-20,20.07,146,64,5\n"6465",2020-06-11,20.22,340,65,5\n"6466",2020-06-07,20.51,135,66,5\n"6467",2020-06-22,19.54,237,67,5\n"6468",2020-06-22,20.49,381,68,5\n"6469",2020-06-24,19.97,372,69,5\n"6470",2020-06-20,20.31,292,70,5\n"6471",2020-06-09,19.7,230,71,5\n"6472",2020-06-30,19.43,265,72,5\n"6473",2020-06-08,20.38,570,73,5\n"6474",2020-06-03,20.26,130,74,5\n"6475",2020-06-27,19.83,253,75,5\n"6476",2020-06-27,20.16,959,76,5\n"6477",2020-06-01,20.03,236,77,5\n"6478",2020-06-12,19.78,338,78,5\n"6479",2020-06-29,20.24,330,79,5\n"6480",2020-06-17,19.72,324,80,5\n"6481",2020-06-28,20.7,330,81,5\n"6482",2020-06-05,20.69,347,82,5\n"6483",2020-06-08,19.7,398,83,5\n"6484",2020-06-16,20.29,516,84,5\n"6485",2020-06-29,20.44,385,85,5\n"6486",2020-06-25,20.05,194,86,5\n"6487",2020-06-20,19.31,490,87,5\n"6488",2020-06-08,19.74,444,88,5\n"6489",2020-06-18,20.82,930,89,5\n"6490",2020-06-21,19.42,182,90,5\n"6491",2020-06-28,20.86,797,91,5\n"6492",2020-06-03,20.21,236,92,5\n"6493",2020-06-18,19.79,191,93,5\n"6494",2020-06-12,19.94,392,94,5\n"6495",2020-06-18,20.03,267,95,5\n"6496",2020-06-22,19.81,539,96,5\n"6497",2020-06-26,20.83,238,97,5\n"6498",2020-06-05,20.01,225,98,5\n"6499",2020-06-25,20.35,465,99,5\n"6500",2020-06-22,21.06,358,100,5\n"6501",2020-06-14,20.64,777,1,6\n"6502",2020-06-19,19.86,227,2,6\n"6503",2020-06-25,20.55,300,3,6\n"6504",2020-06-10,20.07,578,4,6\n"6505",2020-06-02,20.33,436,5,6\n"6506",2020-06-14,19.53,312,6,6\n"6507",2020-06-18,20.35,447,7,6\n"6508",2020-06-19,19.9,442,8,6\n"6509",2020-06-19,20.32,152,9,6\n"6510",2020-06-12,20.25,898,10,6\n"6511",2020-06-09,20.25,235,11,6\n"6512",2020-06-28,19.73,661,12,6\n"6513",2020-06-03,20.81,178,13,6\n"6514",2020-06-07,20.06,228,14,6\n"6515",2020-06-29,20.16,592,15,6\n"6516",2020-06-07,19.79,299,16,6\n"6517",2020-06-05,20.28,502,17,6\n"6518",2020-06-03,20.12,386,18,6\n"6519",2020-06-25,20.67,95,19,6\n"6520",2020-06-02,20.03,634,20,6\n"6521",2020-06-21,20.54,264,21,6\n"6522",2020-06-20,20.02,290,22,6\n"6523",2020-06-18,20.11,171,23,6\n"6524",2020-06-02,19.61,649,24,6\n"6525",2020-06-24,20.34,357,25,6\n"6526",2020-06-09,19.73,523,26,6\n"6527",2020-06-13,20.77,266,27,6\n"6528",2020-06-29,20.75,188,28,6\n"6529",2020-06-12,20.21,337,29,6\n"6530",2020-06-13,19.68,360,30,6\n"6531",2020-06-01,20,622,31,6\n"6532",2020-06-28,20.03,305,32,6\n"6533",2020-06-17,19.46,205,33,6\n"6534",2020-06-18,20.61,688,34,6\n"6535",2020-06-18,19.8,215,35,6\n"6536",2020-06-02,19.65,147,36,6\n"6537",2020-06-27,19.92,1028,37,6\n"6538",2020-06-06,20,421,38,6\n"6539",2020-06-17,19.68,346,39,6\n"6540",2020-06-12,20.11,309,40,6\n"6541",2020-06-06,20.38,248,41,6\n"6542",2020-06-10,20.15,304,42,6\n"6543",2020-06-26,19.82,219,43,6\n"6544",2020-06-10,18.85,353,44,6\n"6545",2020-06-16,20.66,450,45,6\n"6546",2020-06-13,20.66,375,46,6\n"6547",2020-06-30,19.11,243,47,6\n"6548",2020-06-05,20.43,352,48,6\n"6549",2020-06-17,20.68,445,49,6\n"6550",2020-06-21,19.12,250,50,6\n"6551",2020-06-15,19.75,858,51,6\n"6552",2020-06-18,19.93,379,52,6\n"6553",2020-06-21,19.95,550,53,6\n"6554",2020-06-08,20.02,221,54,6\n"6555",2020-06-19,20.25,320,55,6\n"6556",2020-06-08,19.55,481,56,6\n"6557",2020-06-11,18.81,1484,57,6\n"6558",2020-06-10,20.34,441,58,6\n"6559",2020-06-22,20.97,354,59,6\n"6560",2020-06-26,19.66,459,60,6\n"6561",2020-06-07,20.32,260,61,6\n"6562",2020-06-26,20.29,260,62,6\n"6563",2020-06-01,19.48,293,63,6\n"6564",2020-06-20,20.12,389,64,6\n"6565",2020-06-11,19.41,395,65,6\n"6566",2020-06-07,20.15,231,66,6\n"6567",2020-06-22,20.31,414,67,6\n"6568",2020-06-22,20.49,334,68,6\n"6569",2020-06-24,20.98,468,69,6\n"6570",2020-06-20,20.04,319,70,6\n"6571",2020-06-09,20.36,370,71,6\n"6572",2020-06-30,19.82,226,72,6\n"6573",2020-06-08,20.64,967,73,6\n"6574",2020-06-03,18.99,351,74,6\n"6575",2020-06-27,20.62,496,75,6\n"6576",2020-06-27,19.31,376,76,6\n"6577",2020-06-01,19.27,237,77,6\n"6578",2020-06-12,19.85,382,78,6\n"6579",2020-06-29,20.76,289,79,6\n"6580",2020-06-17,20.57,421,80,6\n"6581",2020-06-28,20.28,297,81,6\n"6582",2020-06-05,20.51,251,82,6\n"6583",2020-06-08,20.13,108,83,6\n"6584",2020-06-16,20.4,504,84,6\n"6585",2020-06-29,20.37,881,85,6\n"6586",2020-06-25,20.14,543,86,6\n"6587",2020-06-20,20.34,292,87,6\n"6588",2020-06-08,20.3,174,88,6\n"6589",2020-06-18,20.76,163,89,6\n"6590",2020-06-21,19.16,250,90,6\n"6591",2020-06-28,19.97,1337,91,6\n"6592",2020-06-03,20.27,343,92,6\n"6593",2020-06-18,20.22,260,93,6\n"6594",2020-06-12,20.51,753,94,6\n"6595",2020-06-18,20.12,302,95,6\n"6596",2020-06-22,20.48,209,96,6\n"6597",2020-06-26,20.88,274,97,6\n"6598",2020-06-05,19.94,140,98,6\n"6599",2020-06-25,19,874,99,6\n"6600",2020-06-22,20.59,605,100,6\n"6601",2020-06-14,20.93,1813,1,7\n"6602",2020-06-19,19.2,508,2,7\n"6603",2020-06-25,19.62,386,3,7\n"6604",2020-06-10,20.08,162,4,7\n"6605",2020-06-02,20.23,181,5,7\n"6606",2020-06-14,19.92,178,6,7\n"6607",2020-06-18,19.05,449,7,7\n"6608",2020-06-19,20.27,461,8,7\n"6609",2020-06-19,19.75,221,9,7\n"6610",2020-06-12,20.35,362,10,7\n"6611",2020-06-09,20.4,305,11,7\n"6612",2020-06-28,19.23,286,12,7\n"6613",2020-06-03,20.15,297,13,7\n"6614",2020-06-07,19.52,335,14,7\n"6615",2020-06-29,19.28,171,15,7\n"6616",2020-06-07,20.07,326,16,7\n"6617",2020-06-05,19.54,335,17,7\n"6618",2020-06-03,20.1,339,18,7\n"6619",2020-06-25,20.53,333,19,7\n"6620",2020-06-02,20.56,146,20,7\n"6621",2020-06-21,20.72,203,21,7\n"6622",2020-06-20,18.98,337,22,7\n"6623",2020-06-18,19.38,439,23,7\n"6624",2020-06-02,19.04,351,24,7\n"6625",2020-06-24,20.34,788,25,7\n"6626",2020-06-09,20.42,111,26,7\n"6627",2020-06-13,19.75,193,27,7\n"6628",2020-06-29,19.77,443,28,7\n"6629",2020-06-12,20.55,414,29,7\n"6630",2020-06-13,20.7,225,30,7\n"6631",2020-06-01,20.65,378,31,7\n"6632",2020-06-28,19.6,361,32,7\n"6633",2020-06-17,21.3,221,33,7\n"6634",2020-06-18,20.04,259,34,7\n"6635",2020-06-18,19.04,747,35,7\n"6636",2020-06-02,19.88,506,36,7\n"6637",2020-06-27,19.56,484,37,7\n"6638",2020-06-06,20.02,179,38,7\n"6639",2020-06-17,20.07,381,39,7\n"6640",2020-06-12,20.43,293,40,7\n"6641",2020-06-06,20.04,413,41,7\n"6642",2020-06-10,19.86,319,42,7\n"6643",2020-06-26,20.45,173,43,7\n"6644",2020-06-10,20.56,171,44,7\n"6645",2020-06-16,20.35,406,45,7\n"6646",2020-06-13,20.43,158,46,7\n"6647",2020-06-30,19.8,504,47,7\n"6648",2020-06-05,19.47,248,48,7\n"6649",2020-06-17,20.8,264,49,7\n"6650",2020-06-21,20.51,493,50,7\n"6651",2020-06-15,19.63,313,51,7\n"6652",2020-06-18,20.15,1364,52,7\n"6653",2020-06-21,20.47,361,53,7\n"6654",2020-06-08,19.92,119,54,7\n"6655",2020-06-19,19.64,297,55,7\n"6656",2020-06-08,19.64,356,56,7\n"6657",2020-06-11,21.08,381,57,7\n"6658",2020-06-10,18.9,323,58,7\n"6659",2020-06-22,20.4,432,59,7\n"6660",2020-06-26,19.66,470,60,7\n"6661",2020-06-07,19.91,321,61,7\n"6662",2020-06-26,19.62,145,62,7\n"6663",2020-06-01,20.28,682,63,7\n"6664",2020-06-20,19.37,422,64,7\n"6665",2020-06-11,19.09,619,65,7\n"6666",2020-06-07,21.61,385,66,7\n"6667",2020-06-22,20.6,323,67,7\n"6668",2020-06-22,20.23,184,68,7\n"6669",2020-06-24,20.19,481,69,7\n"6670",2020-06-20,19.59,629,70,7\n"6671",2020-06-09,20.12,282,71,7\n"6672",2020-06-30,19.7,263,72,7\n"6673",2020-06-08,20.57,501,73,7\n"6674",2020-06-03,19.33,123,74,7\n"6675",2020-06-27,20.13,539,75,7\n"6676",2020-06-27,19.65,185,76,7\n"6677",2020-06-01,20.31,1297,77,7\n"6678",2020-06-12,19.98,300,78,7\n"6679",2020-06-29,19.38,620,79,7\n"6680",2020-06-17,19.58,214,80,7\n"6681",2020-06-28,20.7,232,81,7\n"6682",2020-06-05,19.98,381,82,7\n"6683",2020-06-08,20.85,436,83,7\n"6684",2020-06-16,20.08,580,84,7\n"6685",2020-06-29,19.38,859,85,7\n"6686",2020-06-25,20.19,191,86,7\n"6687",2020-06-20,19.66,353,87,7\n"6688",2020-06-08,18.76,330,88,7\n"6689",2020-06-18,19.82,365,89,7\n"6690",2020-06-21,20.06,318,90,7\n"6691",2020-06-28,20.62,547,91,7\n"6692",2020-06-03,20.68,618,92,7\n"6693",2020-06-18,20.87,237,93,7\n"6694",2020-06-12,21.17,237,94,7\n"6695",2020-06-18,20.14,325,95,7\n"6696",2020-06-22,20.46,781,96,7\n"6697",2020-06-26,20.4,554,97,7\n"6698",2020-06-05,20.77,396,98,7\n"6699",2020-06-25,19.99,335,99,7\n"6700",2020-06-22,19.51,400,100,7\n"6701",2020-06-14,20.26,147,1,8\n"6702",2020-06-19,19.65,329,2,8\n"6703",2020-06-25,19.72,289,3,8\n"6704",2020-06-10,19.88,442,4,8\n"6705",2020-06-02,19.74,125,5,8\n"6706",2020-06-14,19.74,693,6,8\n"6707",2020-06-18,19.89,94,7,8\n"6708",2020-06-19,19.14,539,8,8\n"6709",2020-06-19,20.72,225,9,8\n"6710",2020-06-12,19.97,137,10,8\n"6711",2020-06-09,19.78,231,11,8\n"6712",2020-06-28,19.97,285,12,8\n"6713",2020-06-03,19.62,225,13,8\n"6714",2020-06-07,20.19,685,14,8\n"6715",2020-06-29,19.55,891,15,8\n"6716",2020-06-07,19.64,599,16,8\n"6717",2020-06-05,19.75,441,17,8\n"6718",2020-06-03,20.19,478,18,8\n"6719",2020-06-25,20.54,247,19,8\n"6720",2020-06-02,20.36,234,20,8\n"6721",2020-06-21,20.35,84,21,8\n"6722",2020-06-20,19.53,183,22,8\n"6723",2020-06-18,20.41,171,23,8\n"6724",2020-06-02,20.16,469,24,8\n"6725",2020-06-24,21.42,556,25,8\n"6726",2020-06-09,20.32,453,26,8\n"6727",2020-06-13,20.38,217,27,8\n"6728",2020-06-29,19.7,240,28,8\n"6729",2020-06-12,20.1,156,29,8\n"6730",2020-06-13,20.61,924,30,8\n"6731",2020-06-01,20.17,571,31,8\n"6732",2020-06-28,19.61,345,32,8\n"6733",2020-06-17,19.11,505,33,8\n"6734",2020-06-18,20.32,448,34,8\n"6735",2020-06-18,20.45,144,35,8\n"6736",2020-06-02,20.23,499,36,8\n"6737",2020-06-27,20.09,273,37,8\n"6738",2020-06-06,20.43,474,38,8\n"6739",2020-06-17,19.38,455,39,8\n"6740",2020-06-12,20.54,327,40,8\n"6741",2020-06-06,20.76,208,41,8\n"6742",2020-06-10,20.72,132,42,8\n"6743",2020-06-26,19.6,250,43,8\n"6744",2020-06-10,20.66,121,44,8\n"6745",2020-06-16,20.9,404,45,8\n"6746",2020-06-13,19.23,317,46,8\n"6747",2020-06-30,20.06,263,47,8\n"6748",2020-06-05,19.55,272,48,8\n"6749",2020-06-17,20.37,422,49,8\n"6750",2020-06-21,20.59,260,50,8\n"6751",2020-06-15,20.55,309,51,8\n"6752",2020-06-18,19.91,312,52,8\n"6753",2020-06-21,19.31,361,53,8\n"6754",2020-06-08,19.61,525,54,8\n"6755",2020-06-19,20.66,454,55,8\n"6756",2020-06-08,20.26,1216,56,8\n"6757",2020-06-11,19.21,224,57,8\n"6758",2020-06-10,20.01,533,58,8\n"6759",2020-06-22,19.88,440,59,8\n"6760",2020-06-26,20.84,577,60,8\n"6761",2020-06-07,19.36,746,61,8\n"6762",2020-06-26,19.45,405,62,8\n"6763",2020-06-01,20.4,213,63,8\n"6764",2020-06-20,19.57,277,64,8\n"6765",2020-06-11,20.79,160,65,8\n"6766",2020-06-07,19.41,271,66,8\n"6767",2020-06-22,20.27,236,67,8\n"6768",2020-06-22,20.71,493,68,8\n"6769",2020-06-24,20.29,204,69,8\n"6770",2020-06-20,19.83,524,70,8\n"6771",2020-06-09,20.77,269,71,8\n"6772",2020-06-30,20.06,206,72,8\n"6773",2020-06-08,20.48,324,73,8\n"6774",2020-06-03,20.3,497,74,8\n"6775",2020-06-27,20.07,301,75,8\n"6776",2020-06-27,19.29,127,76,8\n"6777",2020-06-01,20.37,351,77,8\n"6778",2020-06-12,20.28,568,78,8\n"6779",2020-06-29,20.86,136,79,8\n"6780",2020-06-17,20.94,310,80,8\n"6781",2020-06-28,20.92,271,81,8\n"6782",2020-06-05,21.06,1080,82,8\n"6783",2020-06-08,19.92,175,83,8\n"6784",2020-06-16,22.33,631,84,8\n"6785",2020-06-29,20.6,848,85,8\n"6786",2020-06-25,19.54,360,86,8\n"6787",2020-06-20,19.97,234,87,8\n"6788",2020-06-08,20.34,196,88,8\n"6789",2020-06-18,20.11,544,89,8\n"6790",2020-06-21,20.68,714,90,8\n"6791",2020-06-28,19.45,369,91,8\n"6792",2020-06-03,19.72,605,92,8\n"6793",2020-06-18,19.73,332,93,8\n"6794",2020-06-12,20.67,269,94,8\n"6795",2020-06-18,20.21,513,95,8\n"6796",2020-06-22,19.81,294,96,8\n"6797",2020-06-26,19.73,84,97,8\n"6798",2020-06-05,19.81,178,98,8\n"6799",2020-06-25,19.55,214,99,8\n"6800",2020-06-22,19.48,347,100,8\n"6801",2020-06-14,21.02,495,1,9\n"6802",2020-06-19,19.15,333,2,9\n"6803",2020-06-25,20.59,500,3,9\n"6804",2020-06-10,19.07,885,4,9\n"6805",2020-06-02,19.64,244,5,9\n"6806",2020-06-14,20.96,710,6,9\n"6807",2020-06-18,19.93,722,7,9\n"6808",2020-06-19,19.19,419,8,9\n"6809",2020-06-19,20.21,649,9,9\n"6810",2020-06-12,19.36,532,10,9\n"6811",2020-06-09,19.59,337,11,9\n"6812",2020-06-28,20.81,220,12,9\n"6813",2020-06-03,20.88,156,13,9\n"6814",2020-06-07,20.95,303,14,9\n"6815",2020-06-29,19.87,331,15,9\n"6816",2020-06-07,20.99,228,16,9\n"6817",2020-06-05,20.58,381,17,9\n"6818",2020-06-03,21.82,317,18,9\n"6819",2020-06-25,20.18,286,19,9\n"6820",2020-06-02,19.53,252,20,9\n"6821",2020-06-21,20.49,291,21,9\n"6822",2020-06-20,21.05,489,22,9\n"6823",2020-06-18,19.94,524,23,9\n"6824",2020-06-02,19.93,311,24,9\n"6825",2020-06-24,19.94,858,25,9\n"6826",2020-06-09,19.67,341,26,9\n"6827",2020-06-13,19.2,524,27,9\n"6828",2020-06-29,19.83,291,28,9\n"6829",2020-06-12,20.01,421,29,9\n"6830",2020-06-13,19.04,332,30,9\n"6831",2020-06-01,19.84,317,31,9\n"6832",2020-06-28,19.18,337,32,9\n"6833",2020-06-17,20.58,463,33,9\n"6834",2020-06-18,19.7,199,34,9\n"6835",2020-06-18,19.11,613,35,9\n"6836",2020-06-02,18.88,374,36,9\n"6837",2020-06-27,20.12,428,37,9\n"6838",2020-06-06,19.33,220,38,9\n"6839",2020-06-17,19.74,936,39,9\n"6840",2020-06-12,19.62,351,40,9\n"6841",2020-06-06,18.48,310,41,9\n"6842",2020-06-10,20.61,162,42,9\n"6843",2020-06-26,20.33,142,43,9\n"6844",2020-06-10,19.67,537,44,9\n"6845",2020-06-16,19.64,414,45,9\n"6846",2020-06-13,20.11,226,46,9\n"6847",2020-06-30,19.94,166,47,9\n"6848",2020-06-05,20.69,359,48,9\n"6849",2020-06-17,20.15,145,49,9\n"6850",2020-06-21,19.18,442,50,9\n"6851",2020-06-15,19.59,277,51,9\n"6852",2020-06-18,19.7,244,52,9\n"6853",2020-06-21,19.56,544,53,9\n"6854",2020-06-08,20.08,255,54,9\n"6855",2020-06-19,19.7,319,55,9\n"6856",2020-06-08,19.27,362,56,9\n"6857",2020-06-11,20.09,222,57,9\n"6858",2020-06-10,18.98,146,58,9\n"6859",2020-06-22,20.05,262,59,9\n"6860",2020-06-26,20.13,243,60,9\n"6861",2020-06-07,20.14,694,61,9\n"6862",2020-06-26,20.13,414,62,9\n"6863",2020-06-01,20.18,412,63,9\n"6864",2020-06-20,20.16,258,64,9\n"6865",2020-06-11,19.72,517,65,9\n"6866",2020-06-07,20.49,339,66,9\n"6867",2020-06-22,20.03,716,67,9\n"6868",2020-06-22,19.93,695,68,9\n"6869",2020-06-24,19.96,318,69,9\n"6870",2020-06-20,19.1,388,70,9\n"6871",2020-06-09,20.93,378,71,9\n"6872",2020-06-30,20.74,420,72,9\n"6873",2020-06-08,19.56,134,73,9\n"6874",2020-06-03,20.39,375,74,9\n"6875",2020-06-27,19.12,177,75,9\n"6876",2020-06-27,20.95,204,76,9\n"6877",2020-06-01,20.58,444,77,9\n"6878",2020-06-12,20.22,474,78,9\n"6879",2020-06-29,19.94,804,79,9\n"6880",2020-06-17,19.89,1031,80,9\n"6881",2020-06-28,20.19,401,81,9\n"6882",2020-06-05,19.59,600,82,9\n"6883",2020-06-08,20.8,294,83,9\n"6884",2020-06-16,20.31,384,84,9\n"6885",2020-06-29,20.49,464,85,9\n"6886",2020-06-25,19.77,651,86,9\n"6887",2020-06-20,19.88,208,87,9\n"6888",2020-06-08,20.36,419,88,9\n"6889",2020-06-18,19.56,422,89,9\n"6890",2020-06-21,19.17,414,90,9\n"6891",2020-06-28,19.68,571,91,9\n"6892",2020-06-03,20.38,517,92,9\n"6893",2020-06-18,20.09,446,93,9\n"6894",2020-06-12,19.9,723,94,9\n"6895",2020-06-18,19.95,343,95,9\n"6896",2020-06-22,20.11,385,96,9\n"6897",2020-06-26,20.57,425,97,9\n"6898",2020-06-05,20.45,123,98,9\n"6899",2020-06-25,19.78,230,99,9\n"6900",2020-06-22,19.97,423,100,9\n"6901",2020-06-14,19.92,378,1,10\n"6902",2020-06-19,19.83,358,2,10\n"6903",2020-06-25,19.77,333,3,10\n"6904",2020-06-10,19.52,434,4,10\n"6905",2020-06-02,19.97,192,5,10\n"6906",2020-06-14,19.75,476,6,10\n"6907",2020-06-18,19.39,720,7,10\n"6908",2020-06-19,19.13,610,8,10\n"6909",2020-06-19,20.07,321,9,10\n"6910",2020-06-12,20.03,539,10,10\n"6911",2020-06-09,19.97,205,11,10\n"6912",2020-06-28,20.56,347,12,10\n"6913",2020-06-03,19.82,800,13,10\n"6914",2020-06-07,20.06,595,14,10\n"6915",2020-06-29,20.21,592,15,10\n"6916",2020-06-07,19.42,323,16,10\n"6917",2020-06-05,19.94,204,17,10\n"6918",2020-06-03,20.59,327,18,10\n"6919",2020-06-25,19.57,258,19,10\n"6920",2020-06-02,21.12,494,20,10\n"6921",2020-06-21,21.42,834,21,10\n"6922",2020-06-20,19.91,416,22,10\n"6923",2020-06-18,19.77,163,23,10\n"6924",2020-06-02,19.1,277,24,10\n"6925",2020-06-24,20.07,184,25,10\n"6926",2020-06-09,20.1,433,26,10\n"6927",2020-06-13,20.3,437,27,10\n"6928",2020-06-29,19.91,414,28,10\n"6929",2020-06-12,19.33,849,29,10\n"6930",2020-06-13,20.21,815,30,10\n"6931",2020-06-01,20.28,281,31,10\n"6932",2020-06-28,19.58,296,32,10\n"6933",2020-06-17,20.02,911,33,10\n"6934",2020-06-18,20,459,34,10\n"6935",2020-06-18,20.13,140,35,10\n"6936",2020-06-02,20.98,326,36,10\n"6937",2020-06-27,19.58,1072,37,10\n"6938",2020-06-06,19.65,376,38,10\n"6939",2020-06-17,20.21,711,39,10\n"6940",2020-06-12,20.43,870,40,10\n"6941",2020-06-06,19.82,344,41,10\n"6942",2020-06-10,20.56,210,42,10\n"6943",2020-06-26,19.99,486,43,10\n"6944",2020-06-10,20.15,970,44,10\n"6945",2020-06-16,19.9,1075,45,10\n"6946",2020-06-13,20.42,426,46,10\n"6947",2020-06-30,20.94,393,47,10\n"6948",2020-06-05,20.26,324,48,10\n"6949",2020-06-17,19.88,518,49,10\n"6950",2020-06-21,19.05,366,50,10\n"6951",2020-06-15,20.46,318,51,10\n"6952",2020-06-18,19.84,230,52,10\n"6953",2020-06-21,19.37,126,53,10\n"6954",2020-06-08,20.16,229,54,10\n"6955",2020-06-19,19.37,353,55,10\n"6956",2020-06-08,21.33,313,56,10\n"6957",2020-06-11,20.96,269,57,10\n"6958",2020-06-10,20.58,241,58,10\n"6959",2020-06-22,20.68,320,59,10\n"6960",2020-06-26,19.52,470,60,10\n"6961",2020-06-07,20.01,206,61,10\n"6962",2020-06-26,20.05,550,62,10\n"6963",2020-06-01,20.68,220,63,10\n"6964",2020-06-20,21.01,500,64,10\n"6965",2020-06-11,20.41,387,65,10\n"6966",2020-06-07,19.85,186,66,10\n"6967",2020-06-22,20.71,349,67,10\n"6968",2020-06-22,19.79,156,68,10\n"6969",2020-06-24,19.91,365,69,10\n"6970",2020-06-20,20.73,160,70,10\n"6971",2020-06-09,19.53,290,71,10\n"6972",2020-06-30,20.63,457,72,10\n"6973",2020-06-08,19.28,425,73,10\n"6974",2020-06-03,19.75,521,74,10\n"6975",2020-06-27,19.81,326,75,10\n"6976",2020-06-27,19.51,417,76,10\n"6977",2020-06-01,19.44,322,77,10\n"6978",2020-06-12,20.48,333,78,10\n"6979",2020-06-29,18.88,346,79,10\n"6980",2020-06-17,20.95,476,80,10\n"6981",2020-06-28,19.91,1031,81,10\n"6982",2020-06-05,19.43,240,82,10\n"6983",2020-06-08,19.76,381,83,10\n"6984",2020-06-16,18.69,234,84,10\n"6985",2020-06-29,19.18,641,85,10\n"6986",2020-06-25,19.1,323,86,10\n"6987",2020-06-20,19.65,181,87,10\n"6988",2020-06-08,20.89,329,88,10\n"6989",2020-06-18,19.16,139,89,10\n"6990",2020-06-21,20.56,438,90,10\n"6991",2020-06-28,19.64,315,91,10\n"6992",2020-06-03,19.42,234,92,10\n"6993",2020-06-18,19.99,348,93,10\n"6994",2020-06-12,21.07,220,94,10\n"6995",2020-06-18,20.53,323,95,10\n"6996",2020-06-22,20.63,486,96,10\n"6997",2020-06-26,19.66,335,97,10\n"6998",2020-06-05,19.69,174,98,10\n"6999",2020-06-25,19.97,368,99,10\n"7000",2020-06-22,20.62,511,100,10\n"7001",2020-07-11,20.01,199,1,1\n"7002",2020-07-08,20.62,378,2,1\n"7003",2020-07-07,21,784,3,1\n"7004",2020-07-16,21.17,206,4,1\n"7005",2020-07-08,22.06,201,5,1\n"7006",2020-07-01,20.1,520,6,1\n"7007",2020-07-13,21.47,277,7,1\n"7008",2020-07-15,22.76,471,8,1\n"7009",2020-07-16,20.65,246,9,1\n"7010",2020-07-02,21.05,633,10,1\n"7011",2020-07-24,20.97,826,11,1\n"7012",2020-07-21,22.17,299,12,1\n"7013",2020-07-18,20.73,278,13,1\n"7014",2020-07-10,21.08,325,14,1\n"7015",2020-07-26,21.36,617,15,1\n"7016",2020-07-18,22.12,580,16,1\n"7017",2020-07-17,20.41,365,17,1\n"7018",2020-07-15,21.31,73,18,1\n"7019",2020-07-02,20.49,294,19,1\n"7020",2020-07-29,19.97,251,20,1\n"7021",2020-07-03,22.04,230,21,1\n"7022",2020-07-02,21.39,277,22,1\n"7023",2020-07-07,23.13,522,23,1\n"7024",2020-07-28,20.26,337,24,1\n"7025",2020-07-14,19.59,216,25,1\n"7026",2020-07-16,21.09,203,26,1\n"7027",2020-07-31,20.68,178,27,1\n"7028",2020-07-08,21.28,217,28,1\n"7029",2020-07-15,21.44,477,29,1\n"7030",2020-07-03,21.28,307,30,1\n"7031",2020-07-28,21.76,612,31,1\n"7032",2020-07-05,22.21,744,32,1\n"7033",2020-07-15,20.29,171,33,1\n"7034",2020-07-19,20.68,311,34,1\n"7035",2020-07-26,21.12,529,35,1\n"7036",2020-07-20,21.09,323,36,1\n"7037",2020-07-24,21.26,90,37,1\n"7038",2020-07-29,21.04,752,38,1\n"7039",2020-07-14,21.66,618,39,1\n"7040",2020-07-14,20.68,322,40,1\n"7041",2020-07-05,21.43,285,41,1\n"7042",2020-07-30,21.24,132,42,1\n"7043",2020-07-04,21.34,582,43,1\n"7044",2020-07-16,21.22,632,44,1\n"7045",2020-07-30,20.76,169,45,1\n"7046",2020-07-27,20.45,120,46,1\n"7047",2020-07-15,20.5,272,47,1\n"7048",2020-07-08,20.39,254,48,1\n"7049",2020-07-30,20.73,206,49,1\n"7050",2020-07-11,20.83,144,50,1\n"7051",2020-07-10,21.33,532,51,1\n"7052",2020-07-23,19.84,313,52,1\n"7053",2020-07-03,19.66,234,53,1\n"7054",2020-07-16,21.33,163,54,1\n"7055",2020-07-31,19.88,200,55,1\n"7056",2020-07-22,20.16,395,56,1\n"7057",2020-07-22,22.87,364,57,1\n"7058",2020-07-06,20.66,386,58,1\n"7059",2020-07-25,22.4,627,59,1\n"7060",2020-07-29,21.21,131,60,1\n"7061",2020-07-27,20.89,207,61,1\n"7062",2020-07-15,21.49,352,62,1\n"7063",2020-07-13,22.2,202,63,1\n"7064",2020-07-11,21.55,223,64,1\n"7065",2020-07-17,21.86,82,65,1\n"7066",2020-07-31,20.79,201,66,1\n"7067",2020-07-08,20.65,194,67,1\n"7068",2020-07-22,20.55,144,68,1\n"7069",2020-07-27,20.12,326,69,1\n"7070",2020-07-01,22.42,446,70,1\n"7071",2020-07-19,20.66,380,71,1\n"7072",2020-07-26,20.97,293,72,1\n"7073",2020-07-22,22.72,460,73,1\n"7074",2020-07-24,20.66,285,74,1\n"7075",2020-07-11,21.82,241,75,1\n"7076",2020-07-17,21,634,76,1\n"7077",2020-07-11,20.91,648,77,1\n"7078",2020-07-14,20.65,320,78,1\n"7079",2020-07-05,19.99,544,79,1\n"7080",2020-07-12,20.88,719,80,1\n"7081",2020-07-23,20.76,240,81,1\n"7082",2020-07-11,20.72,370,82,1\n"7083",2020-07-22,21.41,152,83,1\n"7084",2020-07-15,20.94,414,84,1\n"7085",2020-07-09,21.4,333,85,1\n"7086",2020-07-04,20.57,304,86,1\n"7087",2020-07-27,21.33,391,87,1\n"7088",2020-07-18,21.69,291,88,1\n"7089",2020-07-05,22.06,294,89,1\n"7090",2020-07-20,21.48,319,90,1\n"7091",2020-07-23,21.69,218,91,1\n"7092",2020-07-21,20.96,155,92,1\n"7093",2020-07-19,21.39,207,93,1\n"7094",2020-07-14,21.86,503,94,1\n"7095",2020-07-06,19.98,267,95,1\n"7096",2020-07-09,20.88,298,96,1\n"7097",2020-07-20,20.97,306,97,1\n"7098",2020-07-25,21.28,99,98,1\n"7099",2020-07-06,20.36,152,99,1\n"7100",2020-07-25,21.79,193,100,1\n"7101",2020-07-11,19.95,519,1,2\n"7102",2020-07-08,20.9,335,2,2\n"7103",2020-07-07,20.05,312,3,2\n"7104",2020-07-16,20.21,141,4,2\n"7105",2020-07-08,20.89,301,5,2\n"7106",2020-07-01,20.67,274,6,2\n"7107",2020-07-13,21.7,536,7,2\n"7108",2020-07-15,20.1,225,8,2\n"7109",2020-07-16,21.93,261,9,2\n"7110",2020-07-02,20.56,126,10,2\n"7111",2020-07-24,21.61,230,11,2\n"7112",2020-07-21,21.07,594,12,2\n"7113",2020-07-18,21.16,60,13,2\n"7114",2020-07-10,20.22,344,14,2\n"7115",2020-07-26,20.88,239,15,2\n"7116",2020-07-18,21.94,515,16,2\n"7117",2020-07-17,20.97,241,17,2\n"7118",2020-07-15,21.31,601,18,2\n"7119",2020-07-02,21.99,248,19,2\n"7120",2020-07-29,21.91,96,20,2\n"7121",2020-07-03,21.02,837,21,2\n"7122",2020-07-02,22.02,322,22,2\n"7123",2020-07-07,21.71,353,23,2\n"7124",2020-07-28,21.34,245,24,2\n"7125",2020-07-14,20.69,644,25,2\n"7126",2020-07-16,20.98,224,26,2\n"7127",2020-07-31,21.5,293,27,2\n"7128",2020-07-08,20.53,523,28,2\n"7129",2020-07-15,20.63,1021,29,2\n"7130",2020-07-03,21.13,136,30,2\n"7131",2020-07-28,21.52,498,31,2\n"7132",2020-07-05,21.45,384,32,2\n"7133",2020-07-15,21.4,398,33,2\n"7134",2020-07-19,19.95,292,34,2\n"7135",2020-07-26,21.62,429,35,2\n"7136",2020-07-20,20.44,151,36,2\n"7137",2020-07-24,22.51,138,37,2\n"7138",2020-07-29,21.61,273,38,2\n"7139",2020-07-14,20.79,694,39,2\n"7140",2020-07-14,20.26,209,40,2\n"7141",2020-07-05,21.77,220,41,2\n"7142",2020-07-30,20.88,161,42,2\n"7143",2020-07-04,21.33,196,43,2\n"7144",2020-07-16,22.11,67,44,2\n"7145",2020-07-30,21.06,587,45,2\n"7146",2020-07-27,20.5,306,46,2\n"7147",2020-07-15,20.97,230,47,2\n"7148",2020-07-08,20.17,137,48,2\n"7149",2020-07-30,21.05,310,49,2\n"7150",2020-07-11,21.21,495,50,2\n"7151",2020-07-10,21.28,157,51,2\n"7152",2020-07-23,20.61,262,52,2\n"7153",2020-07-03,20.85,452,53,2\n"7154",2020-07-16,21.04,517,54,2\n"7155",2020-07-31,21.09,1155,55,2\n"7156",2020-07-22,20.1,670,56,2\n"7157",2020-07-22,20.43,307,57,2\n"7158",2020-07-06,20.5,361,58,2\n"7159",2020-07-25,21.1,169,59,2\n"7160",2020-07-29,21.11,328,60,2\n"7161",2020-07-27,21.5,246,61,2\n"7162",2020-07-15,21.11,422,62,2\n"7163",2020-07-13,20.82,166,63,2\n"7164",2020-07-11,20.22,359,64,2\n"7165",2020-07-17,20.5,161,65,2\n"7166",2020-07-31,21.44,250,66,2\n"7167",2020-07-08,21.72,333,67,2\n"7168",2020-07-22,20.97,630,68,2\n"7169",2020-07-27,21.53,120,69,2\n"7170",2020-07-01,20.78,282,70,2\n"7171",2020-07-19,21.18,268,71,2\n"7172",2020-07-26,22.39,477,72,2\n"7173",2020-07-22,20.61,335,73,2\n"7174",2020-07-24,20.33,356,74,2\n"7175",2020-07-11,19.84,294,75,2\n"7176",2020-07-17,21.04,183,76,2\n"7177",2020-07-11,20.85,208,77,2\n"7178",2020-07-14,21.16,456,78,2\n"7179",2020-07-05,20.22,235,79,2\n"7180",2020-07-12,21.01,321,80,2\n"7181",2020-07-23,21.46,809,81,2\n"7182",2020-07-11,19.78,416,82,2\n"7183",2020-07-22,20.42,431,83,2\n"7184",2020-07-15,20.23,72,84,2\n"7185",2020-07-09,20.69,332,85,2\n"7186",2020-07-04,21.7,179,86,2\n"7187",2020-07-27,21.04,243,87,2\n"7188",2020-07-18,22.82,122,88,2\n"7189",2020-07-05,21.61,716,89,2\n"7190",2020-07-20,20.57,614,90,2\n"7191",2020-07-23,20.55,212,91,2\n"7192",2020-07-21,20.77,210,92,2\n"7193",2020-07-19,21.7,411,93,2\n"7194",2020-07-14,20.28,141,94,2\n"7195",2020-07-06,20.51,363,95,2\n"7196",2020-07-09,21.41,395,96,2\n"7197",2020-07-20,20.18,371,97,2\n"7198",2020-07-25,19.9,324,98,2\n"7199",2020-07-06,21.45,100,99,2\n"7200",2020-07-25,22.54,361,100,2\n"7201",2020-07-11,21.37,617,1,3\n"7202",2020-07-08,21.33,404,2,3\n"7203",2020-07-07,20.12,555,3,3\n"7204",2020-07-16,20.46,605,4,3\n"7205",2020-07-08,21.73,643,5,3\n"7206",2020-07-01,20.72,253,6,3\n"7207",2020-07-13,21.25,234,7,3\n"7208",2020-07-15,20.59,244,8,3\n"7209",2020-07-16,20.66,629,9,3\n"7210",2020-07-02,22.09,382,10,3\n"7211",2020-07-24,21.06,288,11,3\n"7212",2020-07-21,20.68,334,12,3\n"7213",2020-07-18,19.69,186,13,3\n"7214",2020-07-10,21.95,276,14,3\n"7215",2020-07-26,21.11,173,15,3\n"7216",2020-07-18,22.05,970,16,3\n"7217",2020-07-17,21.72,297,17,3\n"7218",2020-07-15,22.92,405,18,3\n"7219",2020-07-02,21.19,622,19,3\n"7220",2020-07-29,21.04,543,20,3\n"7221",2020-07-03,20.63,616,21,3\n"7222",2020-07-02,21.02,450,22,3\n"7223",2020-07-07,20.52,120,23,3\n"7224",2020-07-28,22.26,284,24,3\n"7225",2020-07-14,20.69,370,25,3\n"7226",2020-07-16,19.78,220,26,3\n"7227",2020-07-31,20.17,278,27,3\n"7228",2020-07-08,20.72,412,28,3\n"7229",2020-07-15,21.9,191,29,3\n"7230",2020-07-03,20.44,173,30,3\n"7231",2020-07-28,19.72,459,31,3\n"7232",2020-07-05,20.84,226,32,3\n"7233",2020-07-15,20.84,959,33,3\n"7234",2020-07-19,20.54,355,34,3\n"7235",2020-07-26,21.44,665,35,3\n"7236",2020-07-20,20.85,184,36,3\n"7237",2020-07-24,20.53,127,37,3\n"7238",2020-07-29,21.81,262,38,3\n"7239",2020-07-14,20.42,428,39,3\n"7240",2020-07-14,21.53,2459,40,3\n"7241",2020-07-05,21.86,331,41,3\n"7242",2020-07-30,21.56,876,42,3\n"7243",2020-07-04,21.1,203,43,3\n"7244",2020-07-16,21.35,318,44,3\n"7245",2020-07-30,21.35,305,45,3\n"7246",2020-07-27,21.65,747,46,3\n"7247",2020-07-15,20.69,191,47,3\n"7248",2020-07-08,20.51,486,48,3\n"7249",2020-07-30,20.05,207,49,3\n"7250",2020-07-11,20.79,240,50,3\n"7251",2020-07-10,21.42,124,51,3\n"7252",2020-07-23,21.17,354,52,3\n"7253",2020-07-03,20.81,477,53,3\n"7254",2020-07-16,21.56,752,54,3\n"7255",2020-07-31,21.69,130,55,3\n"7256",2020-07-22,20.72,228,56,3\n"7257",2020-07-22,21.97,310,57,3\n"7258",2020-07-06,20.38,292,58,3\n"7259",2020-07-25,21.02,423,59,3\n"7260",2020-07-29,21.89,323,60,3\n"7261",2020-07-27,20.18,635,61,3\n"7262",2020-07-15,21.76,361,62,3\n"7263",2020-07-13,21.18,424,63,3\n"7264",2020-07-11,21.17,721,64,3\n"7265",2020-07-17,20.68,344,65,3\n"7266",2020-07-31,21.14,226,66,3\n"7267",2020-07-08,20.66,238,67,3\n"7268",2020-07-22,21.97,747,68,3\n"7269",2020-07-27,20.84,324,69,3\n"7270",2020-07-01,19.78,239,70,3\n"7271",2020-07-19,21.29,314,71,3\n"7272",2020-07-26,20.82,272,72,3\n"7273",2020-07-22,21.43,167,73,3\n"7274",2020-07-24,20.51,149,74,3\n"7275",2020-07-11,20.1,202,75,3\n"7276",2020-07-17,21.42,434,76,3\n"7277",2020-07-11,21.17,373,77,3\n"7278",2020-07-14,20.11,331,78,3\n"7279",2020-07-05,20.3,309,79,3\n"7280",2020-07-12,20.58,604,80,3\n"7281",2020-07-23,21.22,1121,81,3\n"7282",2020-07-11,20.12,295,82,3\n"7283",2020-07-22,19.66,164,83,3\n"7284",2020-07-15,21.25,520,84,3\n"7285",2020-07-09,21.2,144,85,3\n"7286",2020-07-04,21.22,167,86,3\n"7287",2020-07-27,21.9,725,87,3\n"7288",2020-07-18,20.74,245,88,3\n"7289",2020-07-05,20.77,331,89,3\n"7290",2020-07-20,20.88,267,90,3\n"7291",2020-07-23,22.08,611,91,3\n"7292",2020-07-21,20.77,349,92,3\n"7293",2020-07-19,21.34,164,93,3\n"7294",2020-07-14,22.05,410,94,3\n"7295",2020-07-06,20.61,334,95,3\n"7296",2020-07-09,21.43,96,96,3\n"7297",2020-07-20,20.33,239,97,3\n"7298",2020-07-25,19.96,862,98,3\n"7299",2020-07-06,20.91,334,99,3\n"7300",2020-07-25,21.52,217,100,3\n"7301",2020-07-11,20.7,292,1,4\n"7302",2020-07-08,20.9,506,2,4\n"7303",2020-07-07,21.18,998,3,4\n"7304",2020-07-16,21.3,652,4,4\n"7305",2020-07-08,20.14,350,5,4\n"7306",2020-07-01,20.14,391,6,4\n"7307",2020-07-13,20.3,345,7,4\n"7308",2020-07-15,21.13,686,8,4\n"7309",2020-07-16,20.02,1040,9,4\n"7310",2020-07-02,19.71,344,10,4\n"7311",2020-07-24,22.65,530,11,4\n"7312",2020-07-21,21.4,283,12,4\n"7313",2020-07-18,20.07,90,13,4\n"7314",2020-07-10,21.7,342,14,4\n"7315",2020-07-26,21.07,424,15,4\n"7316",2020-07-18,20.63,628,16,4\n"7317",2020-07-17,20.43,147,17,4\n"7318",2020-07-15,21.17,243,18,4\n"7319",2020-07-02,20.59,329,19,4\n"7320",2020-07-29,20.61,266,20,4\n"7321",2020-07-03,20.87,295,21,4\n"7322",2020-07-02,21.71,575,22,4\n"7323",2020-07-07,20.58,328,23,4\n"7324",2020-07-28,21.31,520,24,4\n"7325",2020-07-14,20.9,267,25,4\n"7326",2020-07-16,20.91,404,26,4\n"7327",2020-07-31,20.73,341,27,4\n"7328",2020-07-08,20.25,1084,28,4\n"7329",2020-07-15,21.17,123,29,4\n"7330",2020-07-03,20.68,513,30,4\n"7331",2020-07-28,20.28,212,31,4\n"7332",2020-07-05,21.24,431,32,4\n"7333",2020-07-15,21.44,644,33,4\n"7334",2020-07-19,19.96,231,34,4\n"7335",2020-07-26,20.72,207,35,4\n"7336",2020-07-20,20.6,571,36,4\n"7337",2020-07-24,21.08,119,37,4\n"7338",2020-07-29,20.31,586,38,4\n"7339",2020-07-14,21.38,154,39,4\n"7340",2020-07-14,21.28,518,40,4\n"7341",2020-07-05,21.23,202,41,4\n"7342",2020-07-30,20.37,431,42,4\n"7343",2020-07-04,21.89,109,43,4\n"7344",2020-07-16,21.53,337,44,4\n"7345",2020-07-30,21.68,333,45,4\n"7346",2020-07-27,21.31,277,46,4\n"7347",2020-07-15,21.17,493,47,4\n"7348",2020-07-08,21.38,141,48,4\n"7349",2020-07-30,22.23,283,49,4\n"7350",2020-07-11,20.13,339,50,4\n"7351",2020-07-10,20.56,297,51,4\n"7352",2020-07-23,21.87,172,52,4\n"7353",2020-07-03,21.27,200,53,4\n"7354",2020-07-16,20.53,184,54,4\n"7355",2020-07-31,21.62,371,55,4\n"7356",2020-07-22,21.59,103,56,4\n"7357",2020-07-22,20.7,452,57,4\n"7358",2020-07-06,21.03,125,58,4\n"7359",2020-07-25,21.66,314,59,4\n"7360",2020-07-29,21.01,499,60,4\n"7361",2020-07-27,21.7,755,61,4\n"7362",2020-07-15,21.26,295,62,4\n"7363",2020-07-13,20.89,182,63,4\n"7364",2020-07-11,19.94,92,64,4\n"7365",2020-07-17,20.2,142,65,4\n"7366",2020-07-31,20.38,410,66,4\n"7367",2020-07-08,20.62,326,67,4\n"7368",2020-07-22,20.5,426,68,4\n"7369",2020-07-27,21.74,171,69,4\n"7370",2020-07-01,21.64,226,70,4\n"7371",2020-07-19,20.84,161,71,4\n"7372",2020-07-26,20.53,424,72,4\n"7373",2020-07-22,20.24,385,73,4\n"7374",2020-07-24,20.09,239,74,4\n"7375",2020-07-11,22.15,336,75,4\n"7376",2020-07-17,21.69,192,76,4\n"7377",2020-07-11,21.73,1014,77,4\n"7378",2020-07-14,20.59,428,78,4\n"7379",2020-07-05,19.74,482,79,4\n"7380",2020-07-12,21.94,334,80,4\n"7381",2020-07-23,21.02,146,81,4\n"7382",2020-07-11,20.47,340,82,4\n"7383",2020-07-22,20.17,452,83,4\n"7384",2020-07-15,21.95,382,84,4\n"7385",2020-07-09,20.6,201,85,4\n"7386",2020-07-04,20.62,329,86,4\n"7387",2020-07-27,20.4,279,87,4\n"7388",2020-07-18,21.62,274,88,4\n"7389",2020-07-05,20.95,581,89,4\n"7390",2020-07-20,20.18,81,90,4\n"7391",2020-07-23,21.19,278,91,4\n"7392",2020-07-21,20.63,611,92,4\n"7393",2020-07-19,21.35,555,93,4\n"7394",2020-07-14,20.53,685,94,4\n"7395",2020-07-06,22.11,323,95,4\n"7396",2020-07-09,19.96,702,96,4\n"7397",2020-07-20,20.91,338,97,4\n"7398",2020-07-25,20.54,623,98,4\n"7399",2020-07-06,20.84,337,99,4\n"7400",2020-07-25,20.41,193,100,4\n"7401",2020-07-11,21.61,281,1,5\n"7402",2020-07-08,21.01,513,2,5\n"7403",2020-07-07,21.08,375,3,5\n"7404",2020-07-16,20.46,133,4,5\n"7405",2020-07-08,21.19,234,5,5\n"7406",2020-07-01,20.99,382,6,5\n"7407",2020-07-13,20.33,497,7,5\n"7408",2020-07-15,22.59,584,8,5\n"7409",2020-07-16,20.44,156,9,5\n"7410",2020-07-02,21.09,496,10,5\n"7411",2020-07-24,21.34,275,11,5\n"7412",2020-07-21,21.54,572,12,5\n"7413",2020-07-18,21.54,340,13,5\n"7414",2020-07-10,20.73,275,14,5\n"7415",2020-07-26,20.45,409,15,5\n"7416",2020-07-18,21.82,99,16,5\n"7417",2020-07-17,21.09,309,17,5\n"7418",2020-07-15,20.12,222,18,5\n"7419",2020-07-02,21.4,983,19,5\n"7420",2020-07-29,21.24,220,20,5\n"7421",2020-07-03,21.43,146,21,5\n"7422",2020-07-02,20.75,314,22,5\n"7423",2020-07-07,21.06,126,23,5\n"7424",2020-07-28,22.41,268,24,5\n"7425",2020-07-14,21.36,1012,25,5\n"7426",2020-07-16,21.57,177,26,5\n"7427",2020-07-31,21.87,183,27,5\n"7428",2020-07-08,19.81,264,28,5\n"7429",2020-07-15,19.72,354,29,5\n"7430",2020-07-03,21.14,644,30,5\n"7431",2020-07-28,21.69,1249,31,5\n"7432",2020-07-05,21.01,366,32,5\n"7433",2020-07-15,21.02,535,33,5\n"7434",2020-07-19,20.53,318,34,5\n"7435",2020-07-26,22.37,209,35,5\n"7436",2020-07-20,22.22,370,36,5\n"7437",2020-07-24,21.21,231,37,5\n"7438",2020-07-29,20.66,883,38,5\n"7439",2020-07-14,21.7,384,39,5\n"7440",2020-07-14,20.87,258,40,5\n"7441",2020-07-05,20.66,168,41,5\n"7442",2020-07-30,20.69,342,42,5\n"7443",2020-07-04,20.04,431,43,5\n"7444",2020-07-16,19.7,305,44,5\n"7445",2020-07-30,21.48,252,45,5\n"7446",2020-07-27,21.14,349,46,5\n"7447",2020-07-15,21.11,758,47,5\n"7448",2020-07-08,21.66,249,48,5\n"7449",2020-07-30,22.94,339,49,5\n"7450",2020-07-11,21.36,698,50,5\n"7451",2020-07-10,20.63,168,51,5\n"7452",2020-07-23,21.16,121,52,5\n"7453",2020-07-03,21.05,372,53,5\n"7454",2020-07-16,20.46,365,54,5\n"7455",2020-07-31,20.71,430,55,5\n"7456",2020-07-22,21.02,190,56,5\n"7457",2020-07-22,21.77,786,57,5\n"7458",2020-07-06,20.78,418,58,5\n"7459",2020-07-25,21.09,399,59,5\n"7460",2020-07-29,20.86,296,60,5\n"7461",2020-07-27,20.91,163,61,5\n"7462",2020-07-15,21.26,234,62,5\n"7463",2020-07-13,19.57,174,63,5\n"7464",2020-07-11,20.53,574,64,5\n"7465",2020-07-17,21.5,513,65,5\n"7466",2020-07-31,20.42,934,66,5\n"7467",2020-07-08,21.59,563,67,5\n"7468",2020-07-22,20.5,490,68,5\n"7469",2020-07-27,21.95,286,69,5\n"7470",2020-07-01,21.09,286,70,5\n"7471",2020-07-19,21.86,467,71,5\n"7472",2020-07-26,20.85,177,72,5\n"7473",2020-07-22,20.41,542,73,5\n"7474",2020-07-24,21.43,332,74,5\n"7475",2020-07-11,20.18,298,75,5\n"7476",2020-07-17,22.14,222,76,5\n"7477",2020-07-11,20.71,188,77,5\n"7478",2020-07-14,20.37,535,78,5\n"7479",2020-07-05,21.72,687,79,5\n"7480",2020-07-12,21.05,384,80,5\n"7481",2020-07-23,20.94,203,81,5\n"7482",2020-07-11,21.53,669,82,5\n"7483",2020-07-22,20.64,127,83,5\n"7484",2020-07-15,21.45,714,84,5\n"7485",2020-07-09,20.57,407,85,5\n"7486",2020-07-04,19.85,505,86,5\n"7487",2020-07-27,20.84,203,87,5\n"7488",2020-07-18,20.25,169,88,5\n"7489",2020-07-05,21.77,306,89,5\n"7490",2020-07-20,20.74,436,90,5\n"7491",2020-07-23,20.79,563,91,5\n"7492",2020-07-21,21.14,355,92,5\n"7493",2020-07-19,20.42,883,93,5\n"7494",2020-07-14,20.62,122,94,5\n"7495",2020-07-06,20.93,351,95,5\n"7496",2020-07-09,20.52,751,96,5\n"7497",2020-07-20,22,605,97,5\n"7498",2020-07-25,20.38,481,98,5\n"7499",2020-07-06,20.85,153,99,5\n"7500",2020-07-25,21.38,131,100,5\n"7501",2020-07-11,20.22,299,1,6\n"7502",2020-07-08,21.35,193,2,6\n"7503",2020-07-07,22.47,259,3,6\n"7504",2020-07-16,20.42,495,4,6\n"7505",2020-07-08,21.53,164,5,6\n"7506",2020-07-01,20.73,277,6,6\n"7507",2020-07-13,21.29,362,7,6\n"7508",2020-07-15,21.99,1113,8,6\n"7509",2020-07-16,20.99,544,9,6\n"7510",2020-07-02,21.19,149,10,6\n"7511",2020-07-24,21.03,330,11,6\n"7512",2020-07-21,22.25,467,12,6\n"7513",2020-07-18,20.38,421,13,6\n"7514",2020-07-10,21.45,330,14,6\n"7515",2020-07-26,22.08,387,15,6\n"7516",2020-07-18,20.57,376,16,6\n"7517",2020-07-17,20.48,341,17,6\n"7518",2020-07-15,20.21,412,18,6\n"7519",2020-07-02,23.09,262,19,6\n"7520",2020-07-29,21.34,139,20,6\n"7521",2020-07-03,21.57,476,21,6\n"7522",2020-07-02,20.62,427,22,6\n"7523",2020-07-07,21.66,345,23,6\n"7524",2020-07-28,20.19,169,24,6\n"7525",2020-07-14,21.51,239,25,6\n"7526",2020-07-16,21.78,156,26,6\n"7527",2020-07-31,21.21,376,27,6\n"7528",2020-07-08,20.75,201,28,6\n"7529",2020-07-15,19.86,299,29,6\n"7530",2020-07-03,20.34,295,30,6\n"7531",2020-07-28,21.09,146,31,6\n"7532",2020-07-05,21.08,206,32,6\n"7533",2020-07-15,21.37,140,33,6\n"7534",2020-07-19,20.94,300,34,6\n"7535",2020-07-26,22.2,842,35,6\n"7536",2020-07-20,20.32,351,36,6\n"7537",2020-07-24,20.71,183,37,6\n"7538",2020-07-29,21.01,112,38,6\n"7539",2020-07-14,20.69,240,39,6\n"7540",2020-07-14,20.15,278,40,6\n"7541",2020-07-05,20.67,933,41,6\n"7542",2020-07-30,20.48,472,42,6\n"7543",2020-07-04,21.02,136,43,6\n"7544",2020-07-16,21.02,162,44,6\n"7545",2020-07-30,21.07,121,45,6\n"7546",2020-07-27,20.72,281,46,6\n"7547",2020-07-15,21.82,317,47,6\n"7548",2020-07-08,20.87,146,48,6\n"7549",2020-07-30,19.81,343,49,6\n"7550",2020-07-11,20.73,178,50,6\n"7551",2020-07-10,19.92,732,51,6\n"7552",2020-07-23,20.56,124,52,6\n"7553",2020-07-03,20.88,191,53,6\n"7554",2020-07-16,20.62,386,54,6\n"7555",2020-07-31,21.92,434,55,6\n"7556",2020-07-22,20.25,595,56,6\n"7557",2020-07-22,21.39,230,57,6\n"7558",2020-07-06,21.52,539,58,6\n"7559",2020-07-25,21.75,338,59,6\n"7560",2020-07-29,21.14,207,60,6\n"7561",2020-07-27,21.96,229,61,6\n"7562",2020-07-15,21.71,425,62,6\n"7563",2020-07-13,21.35,358,63,6\n"7564",2020-07-11,21.18,430,64,6\n"7565",2020-07-17,21.78,177,65,6\n"7566",2020-07-31,21.19,389,66,6\n"7567",2020-07-08,20.68,388,67,6\n"7568",2020-07-22,20.03,251,68,6\n"7569",2020-07-27,21.43,131,69,6\n"7570",2020-07-01,19.69,763,70,6\n"7571",2020-07-19,21.2,227,71,6\n"7572",2020-07-26,20.95,514,72,6\n"7573",2020-07-22,21.42,487,73,6\n"7574",2020-07-24,20.84,457,74,6\n"7575",2020-07-11,20.22,711,75,6\n"7576",2020-07-17,21.19,208,76,6\n"7577",2020-07-11,20.79,453,77,6\n"7578",2020-07-14,22.47,572,78,6\n"7579",2020-07-05,20.17,514,79,6\n"7580",2020-07-12,20.44,479,80,6\n"7581",2020-07-23,22,899,81,6\n"7582",2020-07-11,21.45,152,82,6\n"7583",2020-07-22,20.32,234,83,6\n"7584",2020-07-15,20.62,147,84,6\n"7585",2020-07-09,21.39,234,85,6\n"7586",2020-07-04,21.78,269,86,6\n"7587",2020-07-27,20.71,193,87,6\n"7588",2020-07-18,21.39,412,88,6\n"7589",2020-07-05,21,672,89,6\n"7590",2020-07-20,19.64,602,90,6\n"7591",2020-07-23,20.14,269,91,6\n"7592",2020-07-21,20.96,454,92,6\n"7593",2020-07-19,20.59,224,93,6\n"7594",2020-07-14,21.41,270,94,6\n"7595",2020-07-06,21.36,437,95,6\n"7596",2020-07-09,21.1,167,96,6\n"7597",2020-07-20,20.59,502,97,6\n"7598",2020-07-25,20.92,382,98,6\n"7599",2020-07-06,20.57,584,99,6\n"7600",2020-07-25,19.41,130,100,6\n"7601",2020-07-11,20.68,215,1,7\n"7602",2020-07-08,21.28,715,2,7\n"7603",2020-07-07,21.29,138,3,7\n"7604",2020-07-16,21.23,366,4,7\n"7605",2020-07-08,21.18,674,5,7\n"7606",2020-07-01,20.07,165,6,7\n"7607",2020-07-13,20.13,220,7,7\n"7608",2020-07-15,20.97,463,8,7\n"7609",2020-07-16,20.17,815,9,7\n"7610",2020-07-02,21.92,334,10,7\n"7611",2020-07-24,20.68,552,11,7\n"7612",2020-07-21,21.34,317,12,7\n"7613",2020-07-18,21.09,219,13,7\n"7614",2020-07-10,19.88,1140,14,7\n"7615",2020-07-26,21.16,280,15,7\n"7616",2020-07-18,21.45,339,16,7\n"7617",2020-07-17,20.76,522,17,7\n"7618",2020-07-15,20.01,289,18,7\n"7619",2020-07-02,21.24,491,19,7\n"7620",2020-07-29,21.2,298,20,7\n"7621",2020-07-03,20.95,282,21,7\n"7622",2020-07-02,20.36,524,22,7\n"7623",2020-07-07,22.17,192,23,7\n"7624",2020-07-28,20.8,173,24,7\n"7625",2020-07-14,22.45,1028,25,7\n"7626",2020-07-16,20.26,264,26,7\n"7627",2020-07-31,20.5,233,27,7\n"7628",2020-07-08,21.73,347,28,7\n"7629",2020-07-15,21.28,687,29,7\n"7630",2020-07-03,21.24,372,30,7\n"7631",2020-07-28,20.63,455,31,7\n"7632",2020-07-05,20.44,512,32,7\n"7633",2020-07-15,22.12,187,33,7\n"7634",2020-07-19,21.52,224,34,7\n"7635",2020-07-26,21.01,384,35,7\n"7636",2020-07-20,20.84,510,36,7\n"7637",2020-07-24,20.79,358,37,7\n"7638",2020-07-29,21.48,455,38,7\n"7639",2020-07-14,20.92,424,39,7\n"7640",2020-07-14,20.33,435,40,7\n"7641",2020-07-05,20.31,192,41,7\n"7642",2020-07-30,21.55,191,42,7\n"7643",2020-07-04,21.06,763,43,7\n"7644",2020-07-16,21.18,243,44,7\n"7645",2020-07-30,21.4,234,45,7\n"7646",2020-07-27,21.33,1097,46,7\n"7647",2020-07-15,21.82,365,47,7\n"7648",2020-07-08,21.17,508,48,7\n"7649",2020-07-30,20.22,239,49,7\n"7650",2020-07-11,20.98,277,50,7\n"7651",2020-07-10,21.9,412,51,7\n"7652",2020-07-23,20.56,351,52,7\n"7653",2020-07-03,21.06,496,53,7\n"7654",2020-07-16,21.34,199,54,7\n"7655",2020-07-31,23.22,146,55,7\n"7656",2020-07-22,20.43,1050,56,7\n"7657",2020-07-22,21.15,246,57,7\n"7658",2020-07-06,21.54,304,58,7\n"7659",2020-07-25,21.74,227,59,7\n"7660",2020-07-29,20.56,614,60,7\n"7661",2020-07-27,19.78,131,61,7\n"7662",2020-07-15,21.66,234,62,7\n"7663",2020-07-13,20.8,316,63,7\n"7664",2020-07-11,19.89,307,64,7\n"7665",2020-07-17,21.03,583,65,7\n"7666",2020-07-31,19.84,147,66,7\n"7667",2020-07-08,21.77,215,67,7\n"7668",2020-07-22,21.18,230,68,7\n"7669",2020-07-27,21.91,533,69,7\n"7670",2020-07-01,21.57,114,70,7\n"7671",2020-07-19,21.3,1469,71,7\n"7672",2020-07-26,21.55,245,72,7\n"7673",2020-07-22,20.86,360,73,7\n"7674",2020-07-24,21.13,199,74,7\n"7675",2020-07-11,21.65,640,75,7\n"7676",2020-07-17,21.52,559,76,7\n"7677",2020-07-11,21.26,412,77,7\n"7678",2020-07-14,21.73,404,78,7\n"7679",2020-07-05,21.09,449,79,7\n"7680",2020-07-12,20.68,167,80,7\n"7681",2020-07-23,21.39,213,81,7\n"7682",2020-07-11,20.86,320,82,7\n"7683",2020-07-22,20.01,409,83,7\n"7684",2020-07-15,21.28,566,84,7\n"7685",2020-07-09,20.47,210,85,7\n"7686",2020-07-04,19.81,171,86,7\n"7687",2020-07-27,21.62,459,87,7\n"7688",2020-07-18,22.59,544,88,7\n"7689",2020-07-05,20.82,231,89,7\n"7690",2020-07-20,20.58,231,90,7\n"7691",2020-07-23,19.83,507,91,7\n"7692",2020-07-21,21.62,405,92,7\n"7693",2020-07-19,20.27,93,93,7\n"7694",2020-07-14,22.34,286,94,7\n"7695",2020-07-06,20.48,293,95,7\n"7696",2020-07-09,20.96,383,96,7\n"7697",2020-07-20,20.71,939,97,7\n"7698",2020-07-25,21.49,391,98,7\n"7699",2020-07-06,20.8,193,99,7\n"7700",2020-07-25,21.9,439,100,7\n"7701",2020-07-11,22.25,252,1,8\n"7702",2020-07-08,21.5,139,2,8\n"7703",2020-07-07,20.93,265,3,8\n"7704",2020-07-16,21.49,514,4,8\n"7705",2020-07-08,21.14,254,5,8\n"7706",2020-07-01,21.14,196,6,8\n"7707",2020-07-13,21.13,347,7,8\n"7708",2020-07-15,21.24,355,8,8\n"7709",2020-07-16,21.33,303,9,8\n"7710",2020-07-02,21.68,519,10,8\n"7711",2020-07-24,21.68,190,11,8\n"7712",2020-07-21,21.34,470,12,8\n"7713",2020-07-18,21.44,217,13,8\n"7714",2020-07-10,21.85,366,14,8\n"7715",2020-07-26,21.4,289,15,8\n"7716",2020-07-18,20.81,356,16,8\n"7717",2020-07-17,20.18,689,17,8\n"7718",2020-07-15,22.21,129,18,8\n"7719",2020-07-02,21.1,350,19,8\n"7720",2020-07-29,21.65,706,20,8\n"7721",2020-07-03,20.53,395,21,8\n"7722",2020-07-02,20.67,368,22,8\n"7723",2020-07-07,21.34,742,23,8\n"7724",2020-07-28,21.93,267,24,8\n"7725",2020-07-14,21.34,391,25,8\n"7726",2020-07-16,21.33,319,26,8\n"7727",2020-07-31,21.69,199,27,8\n"7728",2020-07-08,22.83,215,28,8\n"7729",2020-07-15,20.33,292,29,8\n"7730",2020-07-03,20.83,468,30,8\n"7731",2020-07-28,21.56,953,31,8\n"7732",2020-07-05,21.66,389,32,8\n"7733",2020-07-15,20.8,249,33,8\n"7734",2020-07-19,20.71,343,34,8\n"7735",2020-07-26,21.12,162,35,8\n"7736",2020-07-20,21.07,420,36,8\n"7737",2020-07-24,21.41,171,37,8\n"7738",2020-07-29,21.4,250,38,8\n"7739",2020-07-14,21.56,434,39,8\n"7740",2020-07-14,21.61,252,40,8\n"7741",2020-07-05,21.41,492,41,8\n"7742",2020-07-30,20.77,202,42,8\n"7743",2020-07-04,21.05,353,43,8\n"7744",2020-07-16,21.72,451,44,8\n"7745",2020-07-30,21.23,295,45,8\n"7746",2020-07-27,21.92,459,46,8\n"7747",2020-07-15,21.86,249,47,8\n"7748",2020-07-08,19.94,1213,48,8\n"7749",2020-07-30,20.06,461,49,8\n"7750",2020-07-11,21.87,667,50,8\n"7751",2020-07-10,21.83,311,51,8\n"7752",2020-07-23,21.49,519,52,8\n"7753",2020-07-03,20.57,334,53,8\n"7754",2020-07-16,20.62,368,54,8\n"7755",2020-07-31,21.39,416,55,8\n"7756",2020-07-22,20.67,813,56,8\n"7757",2020-07-22,21.8,278,57,8\n"7758",2020-07-06,20.9,368,58,8\n"7759",2020-07-25,22.17,326,59,8\n"7760",2020-07-29,20.19,218,60,8\n"7761",2020-07-27,21.67,447,61,8\n"7762",2020-07-15,21.53,212,62,8\n"7763",2020-07-13,20.95,292,63,8\n"7764",2020-07-11,20.96,277,64,8\n"7765",2020-07-17,20.6,402,65,8\n"7766",2020-07-31,20.93,300,66,8\n"7767",2020-07-08,20.56,192,67,8\n"7768",2020-07-22,21.27,303,68,8\n"7769",2020-07-27,22.21,214,69,8\n"7770",2020-07-01,20.88,337,70,8\n"7771",2020-07-19,21.21,225,71,8\n"7772",2020-07-26,20.5,208,72,8\n"7773",2020-07-22,21.06,246,73,8\n"7774",2020-07-24,21.21,116,74,8\n"7775",2020-07-11,20.88,339,75,8\n"7776",2020-07-17,20.22,240,76,8\n"7777",2020-07-11,21.16,319,77,8\n"7778",2020-07-14,20.64,283,78,8\n"7779",2020-07-05,20.28,321,79,8\n"7780",2020-07-12,20.96,388,80,8\n"7781",2020-07-23,21.29,265,81,8\n"7782",2020-07-11,20.2,1127,82,8\n"7783",2020-07-22,20.83,360,83,8\n"7784",2020-07-15,20.4,481,84,8\n"7785",2020-07-09,21.6,157,85,8\n"7786",2020-07-04,21.72,348,86,8\n"7787",2020-07-27,21.32,171,87,8\n"7788",2020-07-18,21.32,226,88,8\n"7789",2020-07-05,20.35,641,89,8\n"7790",2020-07-20,20.88,371,90,8\n"7791",2020-07-23,21.3,724,91,8\n"7792",2020-07-21,20.15,247,92,8\n"7793",2020-07-19,21.16,523,93,8\n"7794",2020-07-14,20.43,513,94,8\n"7795",2020-07-06,20.64,208,95,8\n"7796",2020-07-09,21.76,331,96,8\n"7797",2020-07-20,21.51,447,97,8\n"7798",2020-07-25,21.5,201,98,8\n"7799",2020-07-06,21.25,240,99,8\n"7800",2020-07-25,21.22,127,100,8\n"7801",2020-07-11,21.6,1059,1,9\n"7802",2020-07-08,21.17,438,2,9\n"7803",2020-07-07,20.65,267,3,9\n"7804",2020-07-16,20.55,266,4,9\n"7805",2020-07-08,20.43,346,5,9\n"7806",2020-07-01,20.62,329,6,9\n"7807",2020-07-13,20.75,388,7,9\n"7808",2020-07-15,20.37,346,8,9\n"7809",2020-07-16,19.81,296,9,9\n"7810",2020-07-02,20.41,296,10,9\n"7811",2020-07-24,20.6,626,11,9\n"7812",2020-07-21,20.86,176,12,9\n"7813",2020-07-18,20.91,341,13,9\n"7814",2020-07-10,21.67,218,14,9\n"7815",2020-07-26,20.51,359,15,9\n"7816",2020-07-18,20.2,207,16,9\n"7817",2020-07-17,20.95,729,17,9\n"7818",2020-07-15,20.53,538,18,9\n"7819",2020-07-02,19.95,394,19,9\n"7820",2020-07-29,20.33,418,20,9\n"7821",2020-07-03,21.89,184,21,9\n"7822",2020-07-02,20.86,444,22,9\n"7823",2020-07-07,19.7,442,23,9\n"7824",2020-07-28,21.42,181,24,9\n"7825",2020-07-14,22.33,117,25,9\n"7826",2020-07-16,20.79,229,26,9\n"7827",2020-07-31,21,320,27,9\n"7828",2020-07-08,20.87,977,28,9\n"7829",2020-07-15,20.86,574,29,9\n"7830",2020-07-03,20.96,1018,30,9\n"7831",2020-07-28,21.13,433,31,9\n"7832",2020-07-05,20.47,332,32,9\n"7833",2020-07-15,20.56,453,33,9\n"7834",2020-07-19,22.29,706,34,9\n"7835",2020-07-26,20.54,239,35,9\n"7836",2020-07-20,20.99,438,36,9\n"7837",2020-07-24,21.49,418,37,9\n"7838",2020-07-29,20.98,591,38,9\n"7839",2020-07-14,21.4,89,39,9\n"7840",2020-07-14,20.76,226,40,9\n"7841",2020-07-05,20.81,331,41,9\n"7842",2020-07-30,19.95,235,42,9\n"7843",2020-07-04,20.94,220,43,9\n"7844",2020-07-16,20.65,312,44,9\n"7845",2020-07-30,20.79,435,45,9\n"7846",2020-07-27,21.24,221,46,9\n"7847",2020-07-15,20.76,292,47,9\n"7848",2020-07-08,20.88,599,48,9\n"7849",2020-07-30,21.96,157,49,9\n"7850",2020-07-11,20.08,241,50,9\n"7851",2020-07-10,21.31,347,51,9\n"7852",2020-07-23,22,271,52,9\n"7853",2020-07-03,22.14,595,53,9\n"7854",2020-07-16,20.42,158,54,9\n"7855",2020-07-31,21.29,260,55,9\n"7856",2020-07-22,19.96,188,56,9\n"7857",2020-07-22,22.02,348,57,9\n"7858",2020-07-06,21.36,322,58,9\n"7859",2020-07-25,20.72,1186,59,9\n"7860",2020-07-29,19.71,717,60,9\n"7861",2020-07-27,20.01,129,61,9\n"7862",2020-07-15,20.77,600,62,9\n"7863",2020-07-13,20.92,319,63,9\n"7864",2020-07-11,21.13,377,64,9\n"7865",2020-07-17,21.83,344,65,9\n"7866",2020-07-31,20.68,438,66,9\n"7867",2020-07-08,21.36,271,67,9\n"7868",2020-07-22,21.98,130,68,9\n"7869",2020-07-27,21.02,119,69,9\n"7870",2020-07-01,20.7,828,70,9\n"7871",2020-07-19,20.46,242,71,9\n"7872",2020-07-26,20.1,425,72,9\n"7873",2020-07-22,19.85,275,73,9\n"7874",2020-07-24,20.56,226,74,9\n"7875",2020-07-11,20.37,127,75,9\n"7876",2020-07-17,21.65,467,76,9\n"7877",2020-07-11,21.15,159,77,9\n"7878",2020-07-14,20.77,384,78,9\n"7879",2020-07-05,20.66,449,79,9\n"7880",2020-07-12,21.4,393,80,9\n"7881",2020-07-23,19.9,338,81,9\n"7882",2020-07-11,21.16,286,82,9\n"7883",2020-07-22,20.04,238,83,9\n"7884",2020-07-15,20.91,904,84,9\n"7885",2020-07-09,21.37,563,85,9\n"7886",2020-07-04,21.79,165,86,9\n"7887",2020-07-27,21.05,192,87,9\n"7888",2020-07-18,20.01,249,88,9\n"7889",2020-07-05,20.2,291,89,9\n"7890",2020-07-20,21.14,369,90,9\n"7891",2020-07-23,20.91,215,91,9\n"7892",2020-07-21,22.04,550,92,9\n"7893",2020-07-19,21.35,303,93,9\n"7894",2020-07-14,20.43,269,94,9\n"7895",2020-07-06,21.42,357,95,9\n"7896",2020-07-09,21.43,177,96,9\n"7897",2020-07-20,21.56,224,97,9\n"7898",2020-07-25,22.18,230,98,9\n"7899",2020-07-06,19.38,726,99,9\n"7900",2020-07-25,20.33,558,100,9\n"7901",2020-07-11,19.29,504,1,10\n"7902",2020-07-08,21.34,402,2,10\n"7903",2020-07-07,21.57,411,3,10\n"7904",2020-07-16,21.62,177,4,10\n"7905",2020-07-08,21.16,186,5,10\n"7906",2020-07-01,20.94,223,6,10\n"7907",2020-07-13,21.23,528,7,10\n"7908",2020-07-15,19.44,529,8,10\n"7909",2020-07-16,19.83,225,9,10\n"7910",2020-07-02,20.18,327,10,10\n"7911",2020-07-24,21.12,339,11,10\n"7912",2020-07-21,21.78,177,12,10\n"7913",2020-07-18,21.25,532,13,10\n"7914",2020-07-10,20.83,520,14,10\n"7915",2020-07-26,21.19,274,15,10\n"7916",2020-07-18,20.29,229,16,10\n"7917",2020-07-17,20.64,301,17,10\n"7918",2020-07-15,21.52,245,18,10\n"7919",2020-07-02,22.17,269,19,10\n"7920",2020-07-29,21.43,244,20,10\n"7921",2020-07-03,20.57,329,21,10\n"7922",2020-07-02,21.01,343,22,10\n"7923",2020-07-07,19.74,291,23,10\n"7924",2020-07-28,19.85,298,24,10\n"7925",2020-07-14,21.34,166,25,10\n"7926",2020-07-16,21.27,450,26,10\n"7927",2020-07-31,20.66,137,27,10\n"7928",2020-07-08,21.14,172,28,10\n"7929",2020-07-15,19.75,199,29,10\n"7930",2020-07-03,21.86,225,30,10\n"7931",2020-07-28,21.02,379,31,10\n"7932",2020-07-05,20.69,194,32,10\n"7933",2020-07-15,20.56,266,33,10\n"7934",2020-07-19,20.71,223,34,10\n"7935",2020-07-26,22.31,328,35,10\n"7936",2020-07-20,21.35,332,36,10\n"7937",2020-07-24,21.04,240,37,10\n"7938",2020-07-29,20.76,484,38,10\n"7939",2020-07-14,21.75,286,39,10\n"7940",2020-07-14,21.13,294,40,10\n"7941",2020-07-05,21.37,516,41,10\n"7942",2020-07-30,20.43,338,42,10\n"7943",2020-07-04,21.15,218,43,10\n"7944",2020-07-16,21.58,346,44,10\n"7945",2020-07-30,21.16,274,45,10\n"7946",2020-07-27,19.85,113,46,10\n"7947",2020-07-15,21.1,349,47,10\n"7948",2020-07-08,20.37,516,48,10\n"7949",2020-07-30,20.13,181,49,10\n"7950",2020-07-11,21.01,267,50,10\n"7951",2020-07-10,20.75,176,51,10\n"7952",2020-07-23,21.87,316,52,10\n"7953",2020-07-03,20.79,315,53,10\n"7954",2020-07-16,20.74,293,54,10\n"7955",2020-07-31,20.93,430,55,10\n"7956",2020-07-22,20.69,749,56,10\n"7957",2020-07-22,21.24,1050,57,10\n"7958",2020-07-06,20.1,558,58,10\n"7959",2020-07-25,20.98,464,59,10\n"7960",2020-07-29,20.68,163,60,10\n"7961",2020-07-27,21.02,403,61,10\n"7962",2020-07-15,21.53,325,62,10\n"7963",2020-07-13,21.23,319,63,10\n"7964",2020-07-11,20.19,233,64,10\n"7965",2020-07-17,21.54,164,65,10\n"7966",2020-07-31,21.08,906,66,10\n"7967",2020-07-08,20.54,170,67,10\n"7968",2020-07-22,20.41,148,68,10\n"7969",2020-07-27,21.47,441,69,10\n"7970",2020-07-01,21.79,347,70,10\n"7971",2020-07-19,20.62,140,71,10\n"7972",2020-07-26,21.09,345,72,10\n"7973",2020-07-22,20.16,146,73,10\n"7974",2020-07-24,20.76,292,74,10\n"7975",2020-07-11,20.99,116,75,10\n"7976",2020-07-17,21.25,265,76,10\n"7977",2020-07-11,20.92,295,77,10\n"7978",2020-07-14,20.25,219,78,10\n"7979",2020-07-05,21.39,503,79,10\n"7980",2020-07-12,21.07,167,80,10\n"7981",2020-07-23,21.65,447,81,10\n"7982",2020-07-11,21.01,214,82,10\n"7983",2020-07-22,21.27,284,83,10\n"7984",2020-07-15,21.07,280,84,10\n"7985",2020-07-09,21.07,285,85,10\n"7986",2020-07-04,21.9,641,86,10\n"7987",2020-07-27,20.76,321,87,10\n"7988",2020-07-18,20.81,188,88,10\n"7989",2020-07-05,20.9,263,89,10\n"7990",2020-07-20,19.96,454,90,10\n"7991",2020-07-23,21.03,399,91,10\n"7992",2020-07-21,21.04,351,92,10\n"7993",2020-07-19,21.03,323,93,10\n"7994",2020-07-14,20.57,191,94,10\n"7995",2020-07-06,21.29,212,95,10\n"7996",2020-07-09,21.57,550,96,10\n"7997",2020-07-20,20.24,286,97,10\n"7998",2020-07-25,20.85,369,98,10\n"7999",2020-07-06,21.63,722,99,10\n"8000",2020-07-25,20.31,119,100,10\n"8001",2020-08-04,19.4,338,1,1\n"8002",2020-08-09,20.06,488,2,1\n"8003",2020-08-03,19.68,388,3,1\n"8004",2020-08-17,20.13,341,4,1\n"8005",2020-08-13,19.25,119,5,1\n"8006",2020-08-29,19.99,180,6,1\n"8007",2020-08-20,19.18,111,7,1\n"8008",2020-08-04,19.88,142,8,1\n"8009",2020-08-03,18.73,372,9,1\n"8010",2020-08-02,19.09,204,10,1\n"8011",2020-08-12,18.4,245,11,1\n"8012",2020-08-03,19.19,198,12,1\n"8013",2020-08-19,18.57,432,13,1\n"8014",2020-08-20,19.8,319,14,1\n"8015",2020-08-05,19.32,295,15,1\n"8016",2020-08-19,19.25,193,16,1\n"8017",2020-08-28,18.49,191,17,1\n"8018",2020-08-23,18.77,280,18,1\n"8019",2020-08-28,19.24,106,19,1\n"8020",2020-08-20,19.34,231,20,1\n"8021",2020-08-02,18.82,647,21,1\n"8022",2020-08-24,18.3,176,22,1\n"8023",2020-08-17,19.01,192,23,1\n"8024",2020-08-17,18.87,260,24,1\n"8025",2020-08-13,18.47,537,25,1\n"8026",2020-08-01,19.46,380,26,1\n"8027",2020-08-20,19.2,260,27,1\n"8028",2020-08-30,19.21,283,28,1\n"8029",2020-08-08,19.35,316,29,1\n"8030",2020-08-04,19.34,335,30,1\n"8031",2020-08-05,19.49,370,31,1\n"8032",2020-08-11,19.02,365,32,1\n"8033",2020-08-01,19.72,186,33,1\n"8034",2020-08-29,19.97,499,34,1\n"8035",2020-08-14,19.37,348,35,1\n"8036",2020-08-25,19.34,208,36,1\n"8037",2020-08-03,19.01,201,37,1\n"8038",2020-08-19,19.34,358,38,1\n"8039",2020-08-20,19.09,329,39,1\n"8040",2020-08-24,19.83,286,40,1\n"8041",2020-08-25,18.78,387,41,1\n"8042",2020-08-26,18.98,479,42,1\n"8043",2020-08-27,18.62,194,43,1\n"8044",2020-08-26,18.83,313,44,1\n"8045",2020-08-23,18.87,494,45,1\n"8046",2020-08-06,18.92,215,46,1\n"8047",2020-08-20,18.82,636,47,1\n"8048",2020-08-22,19.42,168,48,1\n"8049",2020-08-15,19.27,560,49,1\n"8050",2020-08-19,18.65,299,50,1\n"8051",2020-08-08,19.42,332,51,1\n"8052",2020-08-11,19.06,256,52,1\n"8053",2020-08-22,18.8,236,53,1\n"8054",2020-08-04,19.39,509,54,1\n"8055",2020-08-06,19.02,390,55,1\n"8056",2020-08-28,19.28,201,56,1\n"8057",2020-08-06,18.73,488,57,1\n"8058",2020-08-04,19.15,223,58,1\n"8059",2020-08-15,20.83,162,59,1\n"8060",2020-08-18,19.1,575,60,1\n"8061",2020-08-03,18.39,309,61,1\n"8062",2020-08-16,19.74,387,62,1\n"8063",2020-08-11,18.43,231,63,1\n"8064",2020-08-14,18.59,155,64,1\n"8065",2020-08-27,19.5,256,65,1\n"8066",2020-08-02,18.8,330,66,1\n"8067",2020-08-22,20.01,425,67,1\n"8068",2020-08-06,19.95,333,68,1\n"8069",2020-08-03,18.21,515,69,1\n"8070",2020-08-19,18.73,261,70,1\n"8071",2020-08-31,19.17,375,71,1\n"8072",2020-08-14,19.21,292,72,1\n"8073",2020-08-27,19.38,1040,73,1\n"8074",2020-08-29,19.61,208,74,1\n"8075",2020-08-22,20.6,297,75,1\n"8076",2020-08-22,19.44,424,76,1\n"8077",2020-08-27,18.66,143,77,1\n"8078",2020-08-22,18.02,204,78,1\n"8079",2020-08-31,19.5,530,79,1\n"8080",2020-08-27,19.46,214,80,1\n"8081",2020-08-06,18.66,287,81,1\n"8082",2020-08-21,19.76,1179,82,1\n"8083",2020-08-31,19.49,705,83,1\n"8084",2020-08-24,19.79,307,84,1\n"8085",2020-08-14,19.51,489,85,1\n"8086",2020-08-31,18.53,190,86,1\n"8087",2020-08-05,19.2,121,87,1\n"8088",2020-08-17,19.09,230,88,1\n"8089",2020-08-28,20.35,145,89,1\n"8090",2020-08-17,18.7,283,90,1\n"8091",2020-08-22,18.88,234,91,1\n"8092",2020-08-21,19.34,237,92,1\n"8093",2020-08-18,18.88,301,93,1\n"8094",2020-08-03,18.84,612,94,1\n"8095",2020-08-03,18.45,293,95,1\n"8096",2020-08-11,19.52,683,96,1\n"8097",2020-08-05,17.99,513,97,1\n"8098",2020-08-10,19.15,290,98,1\n"8099",2020-08-24,18.97,329,99,1\n"8100",2020-08-30,19.36,423,100,1\n"8101",2020-08-04,19.63,250,1,2\n"8102",2020-08-09,19,336,2,2\n"8103",2020-08-03,18.13,381,3,2\n"8104",2020-08-17,19.23,265,4,2\n"8105",2020-08-13,19.13,621,5,2\n"8106",2020-08-29,19.62,407,6,2\n"8107",2020-08-20,19.02,473,7,2\n"8108",2020-08-04,18.57,536,8,2\n"8109",2020-08-03,18.87,441,9,2\n"8110",2020-08-02,19.78,521,10,2\n"8111",2020-08-12,20.03,392,11,2\n"8112",2020-08-03,18.83,259,12,2\n"8113",2020-08-19,18.88,578,13,2\n"8114",2020-08-20,19.18,287,14,2\n"8115",2020-08-05,19.8,251,15,2\n"8116",2020-08-19,19.03,344,16,2\n"8117",2020-08-28,18.8,260,17,2\n"8118",2020-08-23,18.93,372,18,2\n"8119",2020-08-28,19.26,232,19,2\n"8120",2020-08-20,19.26,380,20,2\n"8121",2020-08-02,19.94,333,21,2\n"8122",2020-08-24,19.01,481,22,2\n"8123",2020-08-17,19.6,352,23,2\n"8124",2020-08-17,20.53,203,24,2\n"8125",2020-08-13,18.92,330,25,2\n"8126",2020-08-01,18.65,222,26,2\n"8127",2020-08-20,19.33,198,27,2\n"8128",2020-08-30,19.32,521,28,2\n"8129",2020-08-08,19.9,329,29,2\n"8130",2020-08-04,19.28,356,30,2\n"8131",2020-08-05,18.78,429,31,2\n"8132",2020-08-11,19.72,587,32,2\n"8133",2020-08-01,19.29,288,33,2\n"8134",2020-08-29,19.1,215,34,2\n"8135",2020-08-14,18.47,129,35,2\n"8136",2020-08-25,19.18,336,36,2\n"8137",2020-08-03,19.33,208,37,2\n"8138",2020-08-19,18.79,243,38,2\n"8139",2020-08-20,19.29,168,39,2\n"8140",2020-08-24,19.63,108,40,2\n"8141",2020-08-25,19.66,265,41,2\n"8142",2020-08-26,19.6,321,42,2\n"8143",2020-08-27,19.25,312,43,2\n"8144",2020-08-26,19.49,476,44,2\n"8145",2020-08-23,18.92,292,45,2\n"8146",2020-08-06,18.93,303,46,2\n"8147",2020-08-20,18.79,202,47,2\n"8148",2020-08-22,19.1,452,48,2\n"8149",2020-08-15,20.14,292,49,2\n"8150",2020-08-19,18.98,227,50,2\n"8151",2020-08-08,19.56,316,51,2\n"8152",2020-08-11,18.99,443,52,2\n"8153",2020-08-22,20.41,225,53,2\n"8154",2020-08-04,17.52,447,54,2\n"8155",2020-08-06,19.14,340,55,2\n"8156",2020-08-28,18.46,326,56,2\n"8157",2020-08-06,19.26,128,57,2\n"8158",2020-08-04,19.41,306,58,2\n"8159",2020-08-15,19,193,59,2\n"8160",2020-08-18,19.51,167,60,2\n"8161",2020-08-03,18.58,799,61,2\n"8162",2020-08-16,19.73,493,62,2\n"8163",2020-08-11,19.03,363,63,2\n"8164",2020-08-14,20.21,570,64,2\n"8165",2020-08-27,19.85,315,65,2\n"8166",2020-08-02,19.46,394,66,2\n"8167",2020-08-22,19.25,531,67,2\n"8168",2020-08-06,20.31,949,68,2\n"8169",2020-08-03,18.73,462,69,2\n"8170",2020-08-19,18.35,418,70,2\n"8171",2020-08-31,19.41,260,71,2\n"8172",2020-08-14,18.95,511,72,2\n"8173",2020-08-27,18.9,268,73,2\n"8174",2020-08-29,19.2,1055,74,2\n"8175",2020-08-22,20.09,207,75,2\n"8176",2020-08-22,18.19,85,76,2\n"8177",2020-08-27,19.09,367,77,2\n"8178",2020-08-22,19.27,192,78,2\n"8179",2020-08-31,18.07,224,79,2\n"8180",2020-08-27,18.28,401,80,2\n"8181",2020-08-06,18.32,389,81,2\n"8182",2020-08-21,19.76,319,82,2\n"8183",2020-08-31,20.33,280,83,2\n"8184",2020-08-24,19.24,147,84,2\n"8185",2020-08-14,19.02,296,85,2\n"8186",2020-08-31,19.26,268,86,2\n"8187",2020-08-05,19.46,388,87,2\n"8188",2020-08-17,19.58,305,88,2\n"8189",2020-08-28,19.45,715,89,2\n"8190",2020-08-17,19.35,279,90,2\n"8191",2020-08-22,19.27,360,91,2\n"8192",2020-08-21,18.21,375,92,2\n"8193",2020-08-18,19.39,151,93,2\n"8194",2020-08-03,18.97,365,94,2\n"8195",2020-08-03,19.11,625,95,2\n"8196",2020-08-11,18.91,305,96,2\n"8197",2020-08-05,20.18,510,97,2\n"8198",2020-08-10,19.13,227,98,2\n"8199",2020-08-24,18.79,216,99,2\n"8200",2020-08-30,19.51,344,100,2\n"8201",2020-08-04,20.29,176,1,3\n"8202",2020-08-09,19.46,366,2,3\n"8203",2020-08-03,18.95,408,3,3\n"8204",2020-08-17,19.69,496,4,3\n"8205",2020-08-13,18.17,184,5,3\n"8206",2020-08-29,20,395,6,3\n"8207",2020-08-20,17.77,1066,7,3\n"8208",2020-08-04,18.26,358,8,3\n"8209",2020-08-03,19.3,320,9,3\n"8210",2020-08-02,19.62,263,10,3\n"8211",2020-08-12,18.98,300,11,3\n"8212",2020-08-03,18.27,276,12,3\n"8213",2020-08-19,18.64,350,13,3\n"8214",2020-08-20,18.28,314,14,3\n"8215",2020-08-05,19.59,191,15,3\n"8216",2020-08-19,19.87,136,16,3\n"8217",2020-08-28,19.36,258,17,3\n"8218",2020-08-23,18.87,385,18,3\n"8219",2020-08-28,18.94,373,19,3\n"8220",2020-08-20,19.46,785,20,3\n"8221",2020-08-02,18.74,343,21,3\n"8222",2020-08-24,19.33,489,22,3\n"8223",2020-08-17,18.76,298,23,3\n"8224",2020-08-17,19.07,249,24,3\n"8225",2020-08-13,18.37,299,25,3\n"8226",2020-08-01,20.08,293,26,3\n"8227",2020-08-20,19.61,101,27,3\n"8228",2020-08-30,18.85,194,28,3\n"8229",2020-08-08,18.17,771,29,3\n"8230",2020-08-04,18.73,478,30,3\n"8231",2020-08-05,18.98,148,31,3\n"8232",2020-08-11,18.94,420,32,3\n"8233",2020-08-01,18.56,104,33,3\n"8234",2020-08-29,19.1,185,34,3\n"8235",2020-08-14,19.42,832,35,3\n"8236",2020-08-25,18.83,248,36,3\n"8237",2020-08-03,18.99,275,37,3\n"8238",2020-08-19,18.19,139,38,3\n"8239",2020-08-20,19.13,309,39,3\n"8240",2020-08-24,19.18,259,40,3\n"8241",2020-08-25,18.7,537,41,3\n"8242",2020-08-26,19.15,253,42,3\n"8243",2020-08-27,19.23,275,43,3\n"8244",2020-08-26,18.54,388,44,3\n"8245",2020-08-23,17.66,615,45,3\n"8246",2020-08-06,19.35,322,46,3\n"8247",2020-08-20,18.05,409,47,3\n"8248",2020-08-22,18.15,190,48,3\n"8249",2020-08-15,18.35,339,49,3\n"8250",2020-08-19,18.57,227,50,3\n"8251",2020-08-08,19.48,692,51,3\n"8252",2020-08-11,18.98,831,52,3\n"8253",2020-08-22,18.49,232,53,3\n"8254",2020-08-04,18.73,182,54,3\n"8255",2020-08-06,18.22,340,55,3\n"8256",2020-08-28,18.67,222,56,3\n"8257",2020-08-06,18.9,268,57,3\n"8258",2020-08-04,18.45,230,58,3\n"8259",2020-08-15,19.71,670,59,3\n"8260",2020-08-18,18.86,149,60,3\n"8261",2020-08-03,19.48,300,61,3\n"8262",2020-08-16,20.3,352,62,3\n"8263",2020-08-11,19.21,614,63,3\n"8264",2020-08-14,18.87,381,64,3\n"8265",2020-08-27,19.04,323,65,3\n"8266",2020-08-02,19.57,414,66,3\n"8267",2020-08-22,19.39,404,67,3\n"8268",2020-08-06,19.14,168,68,3\n"8269",2020-08-03,19.03,162,69,3\n"8270",2020-08-19,19.06,151,70,3\n"8271",2020-08-31,19.43,218,71,3\n"8272",2020-08-14,19.8,496,72,3\n"8273",2020-08-27,20.9,182,73,3\n"8274",2020-08-29,19.67,204,74,3\n"8275",2020-08-22,18.1,214,75,3\n"8276",2020-08-22,18.35,341,76,3\n"8277",2020-08-27,20,194,77,3\n"8278",2020-08-22,19.75,1102,78,3\n"8279",2020-08-31,19.46,223,79,3\n"8280",2020-08-27,19.42,331,80,3\n"8281",2020-08-06,18.08,281,81,3\n"8282",2020-08-21,18.88,202,82,3\n"8283",2020-08-31,18.91,320,83,3\n"8284",2020-08-24,19.5,430,84,3\n"8285",2020-08-14,18.94,677,85,3\n"8286",2020-08-31,18.28,521,86,3\n"8287",2020-08-05,20.54,496,87,3\n"8288",2020-08-17,18.11,723,88,3\n"8289",2020-08-28,18.51,207,89,3\n"8290",2020-08-17,19.31,132,90,3\n"8291",2020-08-22,18.68,489,91,3\n"8292",2020-08-21,19.13,545,92,3\n"8293",2020-08-18,20.02,189,93,3\n"8294",2020-08-03,19.23,275,94,3\n"8295",2020-08-03,20.02,183,95,3\n"8296",2020-08-11,18.63,297,96,3\n"8297",2020-08-05,18.39,308,97,3\n"8298",2020-08-10,20.08,379,98,3\n"8299",2020-08-24,18.7,415,99,3\n"8300",2020-08-30,18.52,328,100,3\n"8301",2020-08-04,20.08,367,1,4\n"8302",2020-08-09,18.57,412,2,4\n"8303",2020-08-03,19.92,236,3,4\n"8304",2020-08-17,19.31,491,4,4\n"8305",2020-08-13,19.26,267,5,4\n"8306",2020-08-29,19.47,315,6,4\n"8307",2020-08-20,20.79,200,7,4\n"8308",2020-08-04,18.77,258,8,4\n"8309",2020-08-03,19.05,396,9,4\n"8310",2020-08-02,19.08,213,10,4\n"8311",2020-08-12,19.26,383,11,4\n"8312",2020-08-03,19.46,284,12,4\n"8313",2020-08-19,18.67,476,13,4\n"8314",2020-08-20,18.99,299,14,4\n"8315",2020-08-05,19.01,304,15,4\n"8316",2020-08-19,18.74,331,16,4\n"8317",2020-08-28,19.4,265,17,4\n"8318",2020-08-23,18.47,488,18,4\n"8319",2020-08-28,20.16,304,19,4\n"8320",2020-08-20,19.79,199,20,4\n"8321",2020-08-02,19.76,424,21,4\n"8322",2020-08-24,18.46,398,22,4\n"8323",2020-08-17,18.01,228,23,4\n"8324",2020-08-17,18.98,347,24,4\n"8325",2020-08-13,19.43,260,25,4\n"8326",2020-08-01,19.23,386,26,4\n"8327",2020-08-20,20.28,237,27,4\n"8328",2020-08-30,18.48,226,28,4\n"8329",2020-08-08,18.55,209,29,4\n"8330",2020-08-04,19.08,588,30,4\n"8331",2020-08-05,18.93,93,31,4\n"8332",2020-08-11,19.59,266,32,4\n"8333",2020-08-01,18.99,414,33,4\n"8334",2020-08-29,19.07,286,34,4\n"8335",2020-08-14,18.83,235,35,4\n"8336",2020-08-25,18.22,123,36,4\n"8337",2020-08-03,18.98,733,37,4\n"8338",2020-08-19,20,212,38,4\n"8339",2020-08-20,19.3,328,39,4\n"8340",2020-08-24,19.89,666,40,4\n"8341",2020-08-25,18.73,349,41,4\n"8342",2020-08-26,18.36,184,42,4\n"8343",2020-08-27,20.19,120,43,4\n"8344",2020-08-26,20.57,347,44,4\n"8345",2020-08-23,18.33,367,45,4\n"8346",2020-08-06,19.39,531,46,4\n"8347",2020-08-20,19.26,237,47,4\n"8348",2020-08-22,18.74,401,48,4\n"8349",2020-08-15,19.36,319,49,4\n"8350",2020-08-19,19.62,280,50,4\n"8351",2020-08-08,18.02,242,51,4\n"8352",2020-08-11,18.43,316,52,4\n"8353",2020-08-22,19,266,53,4\n"8354",2020-08-04,18.93,390,54,4\n"8355",2020-08-06,18.92,159,55,4\n"8356",2020-08-28,18.35,250,56,4\n"8357",2020-08-06,18.6,419,57,4\n"8358",2020-08-04,18.48,234,58,4\n"8359",2020-08-15,19.43,274,59,4\n"8360",2020-08-18,18.86,479,60,4\n"8361",2020-08-03,20.04,150,61,4\n"8362",2020-08-16,19.2,316,62,4\n"8363",2020-08-11,18.85,282,63,4\n"8364",2020-08-14,19.45,169,64,4\n"8365",2020-08-27,18.59,279,65,4\n"8366",2020-08-02,18.89,320,66,4\n"8367",2020-08-22,18.6,1327,67,4\n"8368",2020-08-06,18.57,619,68,4\n"8369",2020-08-03,18.83,408,69,4\n"8370",2020-08-19,19.82,161,70,4\n"8371",2020-08-31,19.22,311,71,4\n"8372",2020-08-14,18.28,326,72,4\n"8373",2020-08-27,19.03,479,73,4\n"8374",2020-08-29,19.03,158,74,4\n"8375",2020-08-22,19.38,286,75,4\n"8376",2020-08-22,19.32,991,76,4\n"8377",2020-08-27,19.57,341,77,4\n"8378",2020-08-22,19.01,240,78,4\n"8379",2020-08-31,19.05,468,79,4\n"8380",2020-08-27,18,246,80,4\n"8381",2020-08-06,18.99,259,81,4\n"8382",2020-08-21,18.38,306,82,4\n"8383",2020-08-31,19.27,327,83,4\n"8384",2020-08-24,18.84,185,84,4\n"8385",2020-08-14,18.73,234,85,4\n"8386",2020-08-31,18.32,361,86,4\n"8387",2020-08-05,19.18,900,87,4\n"8388",2020-08-17,18.98,358,88,4\n"8389",2020-08-28,18.52,461,89,4\n"8390",2020-08-17,18.91,515,90,4\n"8391",2020-08-22,18.95,162,91,4\n"8392",2020-08-21,19.12,217,92,4\n"8393",2020-08-18,19.49,439,93,4\n"8394",2020-08-03,19.49,231,94,4\n"8395",2020-08-03,18.92,268,95,4\n"8396",2020-08-11,19.16,386,96,4\n"8397",2020-08-05,18.74,131,97,4\n"8398",2020-08-10,18.22,201,98,4\n"8399",2020-08-24,19.08,346,99,4\n"8400",2020-08-30,18.36,246,100,4\n"8401",2020-08-04,19.05,427,1,5\n"8402",2020-08-09,18.84,353,2,5\n"8403",2020-08-03,18.83,209,3,5\n"8404",2020-08-17,18.7,183,4,5\n"8405",2020-08-13,19.74,569,5,5\n"8406",2020-08-29,19.58,175,6,5\n"8407",2020-08-20,19.77,265,7,5\n"8408",2020-08-04,18.23,190,8,5\n"8409",2020-08-03,18.63,144,9,5\n"8410",2020-08-02,18.7,564,10,5\n"8411",2020-08-12,19.54,147,11,5\n"8412",2020-08-03,19.05,324,12,5\n"8413",2020-08-19,19.93,650,13,5\n"8414",2020-08-20,19.47,516,14,5\n"8415",2020-08-05,18.98,375,15,5\n"8416",2020-08-19,19.4,301,16,5\n"8417",2020-08-28,19.1,180,17,5\n"8418",2020-08-23,19.82,360,18,5\n"8419",2020-08-28,19.76,207,19,5\n"8420",2020-08-20,19.57,296,20,5\n"8421",2020-08-02,20.02,242,21,5\n"8422",2020-08-24,19.32,196,22,5\n"8423",2020-08-17,19.41,311,23,5\n"8424",2020-08-17,19.29,461,24,5\n"8425",2020-08-13,20.29,216,25,5\n"8426",2020-08-01,18.72,258,26,5\n"8427",2020-08-20,20.68,246,27,5\n"8428",2020-08-30,19.04,330,28,5\n"8429",2020-08-08,18.58,560,29,5\n"8430",2020-08-04,19.63,295,30,5\n"8431",2020-08-05,18.97,406,31,5\n"8432",2020-08-11,19.81,203,32,5\n"8433",2020-08-01,20.8,1048,33,5\n"8434",2020-08-29,19.49,142,34,5\n"8435",2020-08-14,18.78,168,35,5\n"8436",2020-08-25,20.48,370,36,5\n"8437",2020-08-03,19.14,132,37,5\n"8438",2020-08-19,19.25,290,38,5\n"8439",2020-08-20,19.45,707,39,5\n"8440",2020-08-24,19.3,194,40,5\n"8441",2020-08-25,18.78,429,41,5\n"8442",2020-08-26,19.06,302,42,5\n"8443",2020-08-27,19.28,265,43,5\n"8444",2020-08-26,19.29,196,44,5\n"8445",2020-08-23,19.16,658,45,5\n"8446",2020-08-06,17.77,536,46,5\n"8447",2020-08-20,19.57,271,47,5\n"8448",2020-08-22,18.93,275,48,5\n"8449",2020-08-15,19.46,323,49,5\n"8450",2020-08-19,18.94,457,50,5\n"8451",2020-08-08,19.6,355,51,5\n"8452",2020-08-11,18.48,385,52,5\n"8453",2020-08-22,19.63,229,53,5\n"8454",2020-08-04,20.08,225,54,5\n"8455",2020-08-06,18.93,499,55,5\n"8456",2020-08-28,18.9,407,56,5\n"8457",2020-08-06,19.62,330,57,5\n"8458",2020-08-04,19.86,222,58,5\n"8459",2020-08-15,19.73,178,59,5\n"8460",2020-08-18,19.56,135,60,5\n"8461",2020-08-03,19.1,247,61,5\n"8462",2020-08-16,19.18,127,62,5\n"8463",2020-08-11,18.85,309,63,5\n"8464",2020-08-14,19.28,306,64,5\n"8465",2020-08-27,17.57,435,65,5\n"8466",2020-08-02,18.97,530,66,5\n"8467",2020-08-22,18.38,192,67,5\n"8468",2020-08-06,18.63,137,68,5\n"8469",2020-08-03,18.59,290,69,5\n"8470",2020-08-19,18.78,392,70,5\n"8471",2020-08-31,19.75,165,71,5\n"8472",2020-08-14,19.61,381,72,5\n"8473",2020-08-27,19.7,224,73,5\n"8474",2020-08-29,19.61,535,74,5\n"8475",2020-08-22,18.86,288,75,5\n"8476",2020-08-22,18.31,244,76,5\n"8477",2020-08-27,19.87,468,77,5\n"8478",2020-08-22,18.44,494,78,5\n"8479",2020-08-31,18.89,323,79,5\n"8480",2020-08-27,18.52,144,80,5\n"8481",2020-08-06,18.81,262,81,5\n"8482",2020-08-21,19.31,203,82,5\n"8483",2020-08-31,19.3,264,83,5\n"8484",2020-08-24,18.47,478,84,5\n"8485",2020-08-14,19.44,174,85,5\n"8486",2020-08-31,18.8,561,86,5\n"8487",2020-08-05,19.79,362,87,5\n"8488",2020-08-17,18.25,451,88,5\n"8489",2020-08-28,19.08,136,89,5\n"8490",2020-08-17,18.78,161,90,5\n"8491",2020-08-22,20.09,361,91,5\n"8492",2020-08-21,19.74,694,92,5\n"8493",2020-08-18,19.19,483,93,5\n"8494",2020-08-03,18.67,319,94,5\n"8495",2020-08-03,19.45,234,95,5\n"8496",2020-08-11,19.84,247,96,5\n"8497",2020-08-05,19.19,925,97,5\n"8498",2020-08-10,18.7,291,98,5\n"8499",2020-08-24,19.11,430,99,5\n"8500",2020-08-30,18.77,556,100,5\n"8501",2020-08-04,19.95,313,1,6\n"8502",2020-08-09,19.18,462,2,6\n"8503",2020-08-03,20.39,521,3,6\n"8504",2020-08-17,19.58,513,4,6\n"8505",2020-08-13,20.08,89,5,6\n"8506",2020-08-29,18.71,243,6,6\n"8507",2020-08-20,18.72,454,7,6\n"8508",2020-08-04,19.41,152,8,6\n"8509",2020-08-03,19.37,453,9,6\n"8510",2020-08-02,19.03,303,10,6\n"8511",2020-08-12,19.63,349,11,6\n"8512",2020-08-03,19.25,388,12,6\n"8513",2020-08-19,19.4,195,13,6\n"8514",2020-08-20,18.44,521,14,6\n"8515",2020-08-05,19.49,481,15,6\n"8516",2020-08-19,19.75,168,16,6\n"8517",2020-08-28,19.45,410,17,6\n"8518",2020-08-23,19.16,434,18,6\n"8519",2020-08-28,19.33,363,19,6\n"8520",2020-08-20,18.73,747,20,6\n"8521",2020-08-02,19.45,373,21,6\n"8522",2020-08-24,20.32,254,22,6\n"8523",2020-08-17,19.82,334,23,6\n"8524",2020-08-17,19.26,386,24,6\n"8525",2020-08-13,18.78,116,25,6\n"8526",2020-08-01,18.47,184,26,6\n"8527",2020-08-20,19.9,326,27,6\n"8528",2020-08-30,18.13,275,28,6\n"8529",2020-08-08,19.47,182,29,6\n"8530",2020-08-04,18.91,549,30,6\n"8531",2020-08-05,19.19,635,31,6\n"8532",2020-08-11,20.13,205,32,6\n"8533",2020-08-01,19.45,242,33,6\n"8534",2020-08-29,19.2,508,34,6\n"8535",2020-08-14,20.21,253,35,6\n"8536",2020-08-25,18.43,454,36,6\n"8537",2020-08-03,19.28,173,37,6\n"8538",2020-08-19,19.92,724,38,6\n"8539",2020-08-20,18.97,234,39,6\n"8540",2020-08-24,18.53,252,40,6\n"8541",2020-08-25,19.32,347,41,6\n"8542",2020-08-26,19.08,322,42,6\n"8543",2020-08-27,19.72,294,43,6\n"8544",2020-08-26,18.65,178,44,6\n"8545",2020-08-23,19.15,311,45,6\n"8546",2020-08-06,20.62,126,46,6\n"8547",2020-08-20,19.6,316,47,6\n"8548",2020-08-22,19.39,543,48,6\n"8549",2020-08-15,19.29,521,49,6\n"8550",2020-08-19,19.02,246,50,6\n"8551",2020-08-08,19.28,267,51,6\n"8552",2020-08-11,18.94,442,52,6\n"8553",2020-08-22,18.76,207,53,6\n"8554",2020-08-04,19.23,395,54,6\n"8555",2020-08-06,19.09,267,55,6\n"8556",2020-08-28,19.65,390,56,6\n"8557",2020-08-06,19.87,333,57,6\n"8558",2020-08-04,19.56,468,58,6\n"8559",2020-08-15,18.53,307,59,6\n"8560",2020-08-18,20.82,454,60,6\n"8561",2020-08-03,20.41,268,61,6\n"8562",2020-08-16,19.51,308,62,6\n"8563",2020-08-11,20.58,198,63,6\n"8564",2020-08-14,19.27,235,64,6\n"8565",2020-08-27,19.04,423,65,6\n"8566",2020-08-02,19.52,321,66,6\n"8567",2020-08-22,19.22,667,67,6\n"8568",2020-08-06,19.8,409,68,6\n"8569",2020-08-03,19.04,467,69,6\n"8570",2020-08-19,19.54,211,70,6\n"8571",2020-08-31,19.16,306,71,6\n"8572",2020-08-14,19.25,240,72,6\n"8573",2020-08-27,18.96,397,73,6\n"8574",2020-08-29,18.97,424,74,6\n"8575",2020-08-22,17.52,605,75,6\n"8576",2020-08-22,19.61,293,76,6\n"8577",2020-08-27,19.52,187,77,6\n"8578",2020-08-22,19.03,611,78,6\n"8579",2020-08-31,19.03,436,79,6\n"8580",2020-08-27,19.62,136,80,6\n"8581",2020-08-06,20.35,170,81,6\n"8582",2020-08-21,18.34,658,82,6\n"8583",2020-08-31,19.06,97,83,6\n"8584",2020-08-24,19.26,271,84,6\n"8585",2020-08-14,19.29,165,85,6\n"8586",2020-08-31,19.48,828,86,6\n"8587",2020-08-05,19.89,476,87,6\n"8588",2020-08-17,19.54,234,88,6\n"8589",2020-08-28,18.48,336,89,6\n"8590",2020-08-17,19.95,507,90,6\n"8591",2020-08-22,18.48,181,91,6\n"8592",2020-08-21,19.68,427,92,6\n"8593",2020-08-18,19.25,183,93,6\n"8594",2020-08-03,20.4,479,94,6\n"8595",2020-08-03,19.11,179,95,6\n"8596",2020-08-11,19.03,341,96,6\n"8597",2020-08-05,18.89,359,97,6\n"8598",2020-08-10,19.9,173,98,6\n"8599",2020-08-24,19.49,307,99,6\n"8600",2020-08-30,19.17,266,100,6\n"8601",2020-08-04,18.67,330,1,7\n"8602",2020-08-09,19.73,699,2,7\n"8603",2020-08-03,18.4,248,3,7\n"8604",2020-08-17,18.56,251,4,7\n"8605",2020-08-13,19.13,509,5,7\n"8606",2020-08-29,18.63,433,6,7\n"8607",2020-08-20,19.58,448,7,7\n"8608",2020-08-04,19.77,190,8,7\n"8609",2020-08-03,19.14,280,9,7\n"8610",2020-08-02,19.65,264,10,7\n"8611",2020-08-12,18.92,193,11,7\n"8612",2020-08-03,18.69,316,12,7\n"8613",2020-08-19,18.64,222,13,7\n"8614",2020-08-20,18.19,619,14,7\n"8615",2020-08-05,18.45,243,15,7\n"8616",2020-08-19,18.66,454,16,7\n"8617",2020-08-28,19.29,320,17,7\n"8618",2020-08-23,18.68,134,18,7\n"8619",2020-08-28,19.67,231,19,7\n"8620",2020-08-20,19.74,366,20,7\n"8621",2020-08-02,19.45,315,21,7\n"8622",2020-08-24,18.34,378,22,7\n"8623",2020-08-17,18.69,161,23,7\n"8624",2020-08-17,19.72,629,24,7\n"8625",2020-08-13,19.28,393,25,7\n"8626",2020-08-01,18.5,160,26,7\n"8627",2020-08-20,19.44,259,27,7\n"8628",2020-08-30,19.6,336,28,7\n"8629",2020-08-08,19.56,229,29,7\n"8630",2020-08-04,19.18,798,30,7\n"8631",2020-08-05,19.04,816,31,7\n"8632",2020-08-11,18.65,339,32,7\n"8633",2020-08-01,19.09,223,33,7\n"8634",2020-08-29,19.32,298,34,7\n"8635",2020-08-14,20.17,279,35,7\n"8636",2020-08-25,18.69,199,36,7\n"8637",2020-08-03,19.69,419,37,7\n"8638",2020-08-19,17.89,262,38,7\n"8639",2020-08-20,20.16,281,39,7\n"8640",2020-08-24,18.7,322,40,7\n"8641",2020-08-25,18.75,329,41,7\n"8642",2020-08-26,19.05,448,42,7\n"8643",2020-08-27,17.68,246,43,7\n"8644",2020-08-26,18.77,225,44,7\n"8645",2020-08-23,19.16,241,45,7\n"8646",2020-08-06,18.91,138,46,7\n"8647",2020-08-20,19.69,217,47,7\n"8648",2020-08-22,19.51,459,48,7\n"8649",2020-08-15,19.02,283,49,7\n"8650",2020-08-19,18.78,692,50,7\n"8651",2020-08-08,19.49,896,51,7\n"8652",2020-08-11,18.69,598,52,7\n"8653",2020-08-22,19.32,359,53,7\n"8654",2020-08-04,18.77,675,54,7\n"8655",2020-08-06,19.79,282,55,7\n"8656",2020-08-28,19.18,287,56,7\n"8657",2020-08-06,18.55,237,57,7\n"8658",2020-08-04,19.33,190,58,7\n"8659",2020-08-15,19.55,176,59,7\n"8660",2020-08-18,18.92,297,60,7\n"8661",2020-08-03,20.52,207,61,7\n"8662",2020-08-16,18.71,327,62,7\n"8663",2020-08-11,19.8,474,63,7\n"8664",2020-08-14,19.2,309,64,7\n"8665",2020-08-27,19.27,241,65,7\n"8666",2020-08-02,19.52,228,66,7\n"8667",2020-08-22,18.95,229,67,7\n"8668",2020-08-06,19.5,434,68,7\n"8669",2020-08-03,17.92,385,69,7\n"8670",2020-08-19,19.06,403,70,7\n"8671",2020-08-31,19.35,402,71,7\n"8672",2020-08-14,18.94,273,72,7\n"8673",2020-08-27,19.38,175,73,7\n"8674",2020-08-29,19.59,328,74,7\n"8675",2020-08-22,19.06,149,75,7\n"8676",2020-08-22,18.74,220,76,7\n"8677",2020-08-27,18.36,387,77,7\n"8678",2020-08-22,20.06,274,78,7\n"8679",2020-08-31,18.8,188,79,7\n"8680",2020-08-27,18.7,328,80,7\n"8681",2020-08-06,19.37,243,81,7\n"8682",2020-08-21,19.13,237,82,7\n"8683",2020-08-31,19.43,199,83,7\n"8684",2020-08-24,18.98,434,84,7\n"8685",2020-08-14,19.64,574,85,7\n"8686",2020-08-31,20.32,256,86,7\n"8687",2020-08-05,19.08,310,87,7\n"8688",2020-08-17,19.55,404,88,7\n"8689",2020-08-28,18.93,558,89,7\n"8690",2020-08-17,19.2,143,90,7\n"8691",2020-08-22,19.38,335,91,7\n"8692",2020-08-21,18.91,271,92,7\n"8693",2020-08-18,19.01,361,93,7\n"8694",2020-08-03,19.34,359,94,7\n"8695",2020-08-03,18.62,425,95,7\n"8696",2020-08-11,18.97,499,96,7\n"8697",2020-08-05,19.58,339,97,7\n"8698",2020-08-10,19.2,443,98,7\n"8699",2020-08-24,18.77,143,99,7\n"8700",2020-08-30,19.13,137,100,7\n"8701",2020-08-04,19.35,233,1,8\n"8702",2020-08-09,18.91,323,2,8\n"8703",2020-08-03,18.2,480,3,8\n"8704",2020-08-17,19.88,253,4,8\n"8705",2020-08-13,18.58,193,5,8\n"8706",2020-08-29,19.09,283,6,8\n"8707",2020-08-20,18.59,356,7,8\n"8708",2020-08-04,19.9,408,8,8\n"8709",2020-08-03,18.93,225,9,8\n"8710",2020-08-02,18.93,332,10,8\n"8711",2020-08-12,18.34,131,11,8\n"8712",2020-08-03,19.11,290,12,8\n"8713",2020-08-19,19.41,409,13,8\n"8714",2020-08-20,19.81,475,14,8\n"8715",2020-08-05,18.8,330,15,8\n"8716",2020-08-19,20.21,432,16,8\n"8717",2020-08-28,19.56,345,17,8\n"8718",2020-08-23,20.21,412,18,8\n"8719",2020-08-28,18.96,382,19,8\n"8720",2020-08-20,18.53,460,20,8\n"8721",2020-08-02,19.42,700,21,8\n"8722",2020-08-24,19.69,391,22,8\n"8723",2020-08-17,18.67,208,23,8\n"8724",2020-08-17,19.17,289,24,8\n"8725",2020-08-13,18.38,194,25,8\n"8726",2020-08-01,19.39,433,26,8\n"8727",2020-08-20,18.95,252,27,8\n"8728",2020-08-30,20.22,108,28,8\n"8729",2020-08-08,19.77,194,29,8\n"8730",2020-08-04,19.35,506,30,8\n"8731",2020-08-05,19.41,338,31,8\n"8732",2020-08-11,19.15,175,32,8\n"8733",2020-08-01,18.45,373,33,8\n"8734",2020-08-29,19.68,242,34,8\n"8735",2020-08-14,19.58,497,35,8\n"8736",2020-08-25,19.01,231,36,8\n"8737",2020-08-03,18.92,398,37,8\n"8738",2020-08-19,18.74,172,38,8\n"8739",2020-08-20,19.84,972,39,8\n"8740",2020-08-24,18.9,271,40,8\n"8741",2020-08-25,19.12,210,41,8\n"8742",2020-08-26,19.34,349,42,8\n"8743",2020-08-27,18.62,220,43,8\n"8744",2020-08-26,19.33,315,44,8\n"8745",2020-08-23,18.86,338,45,8\n"8746",2020-08-06,19.95,267,46,8\n"8747",2020-08-20,18.15,356,47,8\n"8748",2020-08-22,18.93,319,48,8\n"8749",2020-08-15,19.38,155,49,8\n"8750",2020-08-19,19.51,371,50,8\n"8751",2020-08-08,19.55,223,51,8\n"8752",2020-08-11,18.8,661,52,8\n"8753",2020-08-22,18.77,2239,53,8\n"8754",2020-08-04,19.58,148,54,8\n"8755",2020-08-06,19.06,473,55,8\n"8756",2020-08-28,19.95,524,56,8\n"8757",2020-08-06,18.84,164,57,8\n"8758",2020-08-04,19.51,329,58,8\n"8759",2020-08-15,19.01,743,59,8\n"8760",2020-08-18,19.65,971,60,8\n"8761",2020-08-03,19.9,185,61,8\n"8762",2020-08-16,19.66,429,62,8\n"8763",2020-08-11,18.71,343,63,8\n"8764",2020-08-14,19.29,468,64,8\n"8765",2020-08-27,19.54,98,65,8\n"8766",2020-08-02,20.16,347,66,8\n"8767",2020-08-22,19.37,221,67,8\n"8768",2020-08-06,19.24,233,68,8\n"8769",2020-08-03,18.76,869,69,8\n"8770",2020-08-19,19.19,202,70,8\n"8771",2020-08-31,18.57,522,71,8\n"8772",2020-08-14,19.01,314,72,8\n"8773",2020-08-27,19.36,166,73,8\n"8774",2020-08-29,18.61,531,74,8\n"8775",2020-08-22,20,428,75,8\n"8776",2020-08-22,18.94,440,76,8\n"8777",2020-08-27,18.73,446,77,8\n"8778",2020-08-22,19.36,222,78,8\n"8779",2020-08-31,19.69,137,79,8\n"8780",2020-08-27,19.66,291,80,8\n"8781",2020-08-06,18.52,643,81,8\n"8782",2020-08-21,18.62,264,82,8\n"8783",2020-08-31,18.98,981,83,8\n"8784",2020-08-24,17.92,321,84,8\n"8785",2020-08-14,19.14,548,85,8\n"8786",2020-08-31,18.19,790,86,8\n"8787",2020-08-05,19.47,304,87,8\n"8788",2020-08-17,19.57,454,88,8\n"8789",2020-08-28,19.41,205,89,8\n"8790",2020-08-17,19.16,406,90,8\n"8791",2020-08-22,18.98,204,91,8\n"8792",2020-08-21,19.51,208,92,8\n"8793",2020-08-18,19.5,341,93,8\n"8794",2020-08-03,19.18,200,94,8\n"8795",2020-08-03,19.25,434,95,8\n"8796",2020-08-11,19.15,376,96,8\n"8797",2020-08-05,19.1,415,97,8\n"8798",2020-08-10,18.83,265,98,8\n"8799",2020-08-24,19.59,110,99,8\n"8800",2020-08-30,19.21,298,100,8\n"8801",2020-08-04,19.32,268,1,9\n"8802",2020-08-09,19.59,296,2,9\n"8803",2020-08-03,19.92,291,3,9\n"8804",2020-08-17,19.15,446,4,9\n"8805",2020-08-13,19.54,224,5,9\n"8806",2020-08-29,19.94,652,6,9\n"8807",2020-08-20,19.99,348,7,9\n"8808",2020-08-04,18.81,177,8,9\n"8809",2020-08-03,18.61,206,9,9\n"8810",2020-08-02,18.41,279,10,9\n"8811",2020-08-12,19.23,192,11,9\n"8812",2020-08-03,19.59,306,12,9\n"8813",2020-08-19,19.41,186,13,9\n"8814",2020-08-20,18.27,294,14,9\n"8815",2020-08-05,18.74,303,15,9\n"8816",2020-08-19,19.81,255,16,9\n"8817",2020-08-28,19.34,363,17,9\n"8818",2020-08-23,19.89,306,18,9\n"8819",2020-08-28,18.7,238,19,9\n"8820",2020-08-20,19.96,530,20,9\n"8821",2020-08-02,19.35,566,21,9\n"8822",2020-08-24,19.32,284,22,9\n"8823",2020-08-17,18.76,381,23,9\n"8824",2020-08-17,18.53,193,24,9\n"8825",2020-08-13,20.16,362,25,9\n"8826",2020-08-01,18.79,542,26,9\n"8827",2020-08-20,18.75,393,27,9\n"8828",2020-08-30,18.93,478,28,9\n"8829",2020-08-08,19.09,413,29,9\n"8830",2020-08-04,19.6,242,30,9\n"8831",2020-08-05,19.1,248,31,9\n"8832",2020-08-11,19.97,194,32,9\n"8833",2020-08-01,18.78,602,33,9\n"8834",2020-08-29,18.35,671,34,9\n"8835",2020-08-14,17.7,490,35,9\n"8836",2020-08-25,19.46,494,36,9\n"8837",2020-08-03,18.97,339,37,9\n"8838",2020-08-19,20.04,252,38,9\n"8839",2020-08-20,19,469,39,9\n"8840",2020-08-24,18.81,427,40,9\n"8841",2020-08-25,19.18,238,41,9\n"8842",2020-08-26,19.57,397,42,9\n"8843",2020-08-27,18.71,245,43,9\n"8844",2020-08-26,19.14,662,44,9\n"8845",2020-08-23,17.75,173,45,9\n"8846",2020-08-06,19.07,274,46,9\n"8847",2020-08-20,18.88,413,47,9\n"8848",2020-08-22,19.44,202,48,9\n"8849",2020-08-15,19.06,177,49,9\n"8850",2020-08-19,20.33,281,50,9\n"8851",2020-08-08,19.9,381,51,9\n"8852",2020-08-11,18.7,200,52,9\n"8853",2020-08-22,20.29,337,53,9\n"8854",2020-08-04,18.98,164,54,9\n"8855",2020-08-06,19.67,183,55,9\n"8856",2020-08-28,19.17,167,56,9\n"8857",2020-08-06,18.86,255,57,9\n"8858",2020-08-04,19.36,655,58,9\n"8859",2020-08-15,18.75,291,59,9\n"8860",2020-08-18,19.73,1072,60,9\n"8861",2020-08-03,18.59,583,61,9\n"8862",2020-08-16,18.16,344,62,9\n"8863",2020-08-11,18.48,390,63,9\n"8864",2020-08-14,19.92,356,64,9\n"8865",2020-08-27,18.72,319,65,9\n"8866",2020-08-02,18.9,504,66,9\n"8867",2020-08-22,18.46,273,67,9\n"8868",2020-08-06,20.36,223,68,9\n"8869",2020-08-03,18.44,469,69,9\n"8870",2020-08-19,19.09,391,70,9\n"8871",2020-08-31,19.63,655,71,9\n"8872",2020-08-14,19.71,323,72,9\n"8873",2020-08-27,19.53,433,73,9\n"8874",2020-08-29,19.8,460,74,9\n"8875",2020-08-22,19.1,619,75,9\n"8876",2020-08-22,20.57,327,76,9\n"8877",2020-08-27,19.92,161,77,9\n"8878",2020-08-22,19.65,481,78,9\n"8879",2020-08-31,18.52,170,79,9\n"8880",2020-08-27,19.1,302,80,9\n"8881",2020-08-06,18.28,197,81,9\n"8882",2020-08-21,19.23,296,82,9\n"8883",2020-08-31,18.95,504,83,9\n"8884",2020-08-24,18.02,330,84,9\n"8885",2020-08-14,19.73,333,85,9\n"8886",2020-08-31,19.67,181,86,9\n"8887",2020-08-05,19.96,230,87,9\n"8888",2020-08-17,18.9,258,88,9\n"8889",2020-08-28,19.29,322,89,9\n"8890",2020-08-17,19.92,211,90,9\n"8891",2020-08-22,18.68,54,91,9\n"8892",2020-08-21,18.86,346,92,9\n"8893",2020-08-18,18.72,193,93,9\n"8894",2020-08-03,19.68,229,94,9\n"8895",2020-08-03,18.97,420,95,9\n"8896",2020-08-11,19.73,191,96,9\n"8897",2020-08-05,18.8,303,97,9\n"8898",2020-08-10,19.37,217,98,9\n"8899",2020-08-24,18.53,416,99,9\n"8900",2020-08-30,19.8,473,100,9\n"8901",2020-08-04,20.49,292,1,10\n"8902",2020-08-09,18.67,389,2,10\n"8903",2020-08-03,19.37,182,3,10\n"8904",2020-08-17,17.5,173,4,10\n"8905",2020-08-13,18.3,409,5,10\n"8906",2020-08-29,18.37,460,6,10\n"8907",2020-08-20,20.24,590,7,10\n"8908",2020-08-04,18.26,177,8,10\n"8909",2020-08-03,19.36,241,9,10\n"8910",2020-08-02,19.9,538,10,10\n"8911",2020-08-12,19.47,449,11,10\n"8912",2020-08-03,19.06,171,12,10\n"8913",2020-08-19,18.95,398,13,10\n"8914",2020-08-20,19.17,370,14,10\n"8915",2020-08-05,18.97,509,15,10\n"8916",2020-08-19,18.82,159,16,10\n"8917",2020-08-28,18.63,374,17,10\n"8918",2020-08-23,19.04,411,18,10\n"8919",2020-08-28,19.29,166,19,10\n"8920",2020-08-20,19.3,732,20,10\n"8921",2020-08-02,18.48,512,21,10\n"8922",2020-08-24,18.98,736,22,10\n"8923",2020-08-17,18.45,440,23,10\n"8924",2020-08-17,19.51,210,24,10\n"8925",2020-08-13,18.96,174,25,10\n"8926",2020-08-01,19.25,142,26,10\n"8927",2020-08-20,19.25,292,27,10\n"8928",2020-08-30,18.15,629,28,10\n"8929",2020-08-08,19.88,323,29,10\n"8930",2020-08-04,18.91,458,30,10\n"8931",2020-08-05,18.36,535,31,10\n"8932",2020-08-11,19.24,199,32,10\n"8933",2020-08-01,18.75,286,33,10\n"8934",2020-08-29,19.34,634,34,10\n"8935",2020-08-14,19.2,308,35,10\n"8936",2020-08-25,19.42,68,36,10\n"8937",2020-08-03,19.03,346,37,10\n"8938",2020-08-19,20.12,290,38,10\n"8939",2020-08-20,18.96,487,39,10\n"8940",2020-08-24,19.15,391,40,10\n"8941",2020-08-25,19.46,252,41,10\n"8942",2020-08-26,19.41,206,42,10\n"8943",2020-08-27,18.1,233,43,10\n"8944",2020-08-26,18.31,96,44,10\n"8945",2020-08-23,20.03,123,45,10\n"8946",2020-08-06,18.54,477,46,10\n"8947",2020-08-20,19.66,96,47,10\n"8948",2020-08-22,19.39,352,48,10\n"8949",2020-08-15,18.85,748,49,10\n"8950",2020-08-19,19.26,380,50,10\n"8951",2020-08-08,18.59,322,51,10\n"8952",2020-08-11,18.95,137,52,10\n"8953",2020-08-22,19.84,454,53,10\n"8954",2020-08-04,20.06,202,54,10\n"8955",2020-08-06,19.63,380,55,10\n"8956",2020-08-28,18.41,464,56,10\n"8957",2020-08-06,18.38,91,57,10\n"8958",2020-08-04,20.21,500,58,10\n"8959",2020-08-15,19.59,296,59,10\n"8960",2020-08-18,20.53,191,60,10\n"8961",2020-08-03,19.24,349,61,10\n"8962",2020-08-16,18.46,194,62,10\n"8963",2020-08-11,18.91,239,63,10\n"8964",2020-08-14,19.11,159,64,10\n"8965",2020-08-27,18.65,171,65,10\n"8966",2020-08-02,19.65,380,66,10\n"8967",2020-08-22,19.63,345,67,10\n"8968",2020-08-06,19.31,196,68,10\n"8969",2020-08-03,19.5,199,69,10\n"8970",2020-08-19,19.2,156,70,10\n"8971",2020-08-31,18.59,212,71,10\n"8972",2020-08-14,19.15,147,72,10\n"8973",2020-08-27,19.48,173,73,10\n"8974",2020-08-29,18.45,357,74,10\n"8975",2020-08-22,18.44,414,75,10\n"8976",2020-08-22,19.21,117,76,10\n"8977",2020-08-27,18.69,186,77,10\n"8978",2020-08-22,19.05,770,78,10\n"8979",2020-08-31,19.39,253,79,10\n"8980",2020-08-27,19.28,166,80,10\n"8981",2020-08-06,19.14,366,81,10\n"8982",2020-08-21,19.09,227,82,10\n"8983",2020-08-31,18.55,268,83,10\n"8984",2020-08-24,19.15,133,84,10\n"8985",2020-08-14,19.58,399,85,10\n"8986",2020-08-31,19.33,404,86,10\n"8987",2020-08-05,19.09,226,87,10\n"8988",2020-08-17,18.79,725,88,10\n"8989",2020-08-28,19.09,239,89,10\n"8990",2020-08-17,19.62,449,90,10\n"8991",2020-08-22,18.7,341,91,10\n"8992",2020-08-21,19.58,167,92,10\n"8993",2020-08-18,19.24,489,93,10\n"8994",2020-08-03,18.86,277,94,10\n"8995",2020-08-03,18.92,291,95,10\n"8996",2020-08-11,18.23,166,96,10\n"8997",2020-08-05,19.25,352,97,10\n"8998",2020-08-10,20.2,200,98,10\n"8999",2020-08-24,18.82,425,99,10\n"9000",2020-08-30,20.1,212,100,10\n"9001",2020-09-04,20.45,455,1,1\n"9002",2020-09-15,21.1,683,2,1\n"9003",2020-09-13,19.5,297,3,1\n"9004",2020-09-07,19.43,158,4,1\n"9005",2020-09-14,21.55,389,5,1\n"9006",2020-09-25,20.71,647,6,1\n"9007",2020-09-17,19.75,769,7,1\n"9008",2020-09-11,21.12,512,8,1\n"9009",2020-09-26,20.16,399,9,1\n"9010",2020-09-05,20.68,701,10,1\n"9011",2020-09-02,20.08,466,11,1\n"9012",2020-09-18,20.17,364,12,1\n"9013",2020-09-25,20.94,142,13,1\n"9014",2020-09-21,20.68,503,14,1\n"9015",2020-09-27,20.12,900,15,1\n"9016",2020-09-06,19.43,299,16,1\n"9017",2020-09-17,20.22,1544,17,1\n"9018",2020-09-10,20.1,711,18,1\n"9019",2020-09-03,20.05,496,19,1\n"9020",2020-09-23,20.19,448,20,1\n"9021",2020-09-02,20.63,698,21,1\n"9022",2020-09-17,19.94,427,22,1\n"9023",2020-09-23,20.74,566,23,1\n"9024",2020-09-16,20.38,794,24,1\n"9025",2020-09-27,20.58,639,25,1\n"9026",2020-09-30,20.56,318,26,1\n"9027",2020-09-15,20.37,618,27,1\n"9028",2020-09-24,19.98,620,28,1\n"9029",2020-09-03,19.6,214,29,1\n"9030",2020-09-18,21.01,466,30,1\n"9031",2020-09-14,19.68,167,31,1\n"9032",2020-09-25,19.38,578,32,1\n"9033",2020-09-22,20.44,567,33,1\n"9034",2020-09-12,19.42,406,34,1\n"9035",2020-09-09,19.94,1080,35,1\n"9036",2020-09-10,20.04,135,36,1\n"9037",2020-09-18,19.54,190,37,1\n"9038",2020-09-15,20.78,97,38,1\n"9039",2020-09-22,20.41,236,39,1\n"9040",2020-09-11,19.72,579,40,1\n"9041",2020-09-19,19.35,204,41,1\n"9042",2020-09-18,19.63,691,42,1\n"9043",2020-09-05,20.38,254,43,1\n"9044",2020-09-23,19.81,293,44,1\n"9045",2020-09-11,20.4,485,45,1\n"9046",2020-09-23,19.2,263,46,1\n"9047",2020-09-03,20.3,337,47,1\n"9048",2020-09-13,19.87,574,48,1\n"9049",2020-09-24,20.48,314,49,1\n"9050",2020-09-16,19.85,516,50,1\n"9051",2020-09-18,20.59,336,51,1\n"9052",2020-09-19,19.78,756,52,1\n"9053",2020-09-18,20.75,738,53,1\n"9054",2020-09-05,21,649,54,1\n"9055",2020-09-02,20.24,274,55,1\n"9056",2020-09-21,20.31,478,56,1\n"9057",2020-09-04,20.85,443,57,1\n"9058",2020-09-09,20.23,442,58,1\n"9059",2020-09-13,20.77,509,59,1\n"9060",2020-09-24,20.04,513,60,1\n"9061",2020-09-20,20.56,84,61,1\n"9062",2020-09-12,21.37,1143,62,1\n"9063",2020-09-04,19.97,983,63,1\n"9064",2020-09-08,20.35,205,64,1\n"9065",2020-09-25,20.79,503,65,1\n"9066",2020-09-03,20.23,374,66,1\n"9067",2020-09-08,20.04,397,67,1\n"9068",2020-09-21,19.92,185,68,1\n"9069",2020-09-22,20.68,537,69,1\n"9070",2020-09-21,19.89,490,70,1\n"9071",2020-09-18,19.74,286,71,1\n"9072",2020-09-02,19.41,342,72,1\n"9073",2020-09-02,20.52,145,73,1\n"9074",2020-09-27,20.8,323,74,1\n"9075",2020-09-19,20.36,369,75,1\n"9076",2020-09-28,20.99,376,76,1\n"9077",2020-09-04,20.67,224,77,1\n"9078",2020-09-04,21.92,495,78,1\n"9079",2020-09-05,19.46,459,79,1\n"9080",2020-09-12,20.93,443,80,1\n"9081",2020-09-07,19.24,209,81,1\n"9082",2020-09-23,21.66,421,82,1\n"9083",2020-09-24,20.76,931,83,1\n"9084",2020-09-02,20.99,420,84,1\n"9085",2020-09-17,21.46,214,85,1\n"9086",2020-09-29,20.42,373,86,1\n"9087",2020-09-23,19.64,970,87,1\n"9088",2020-09-20,19.91,425,88,1\n"9089",2020-09-17,20.84,342,89,1\n"9090",2020-09-02,20.1,340,90,1\n"9091",2020-09-27,19.53,736,91,1\n"9092",2020-09-19,20.3,141,92,1\n"9093",2020-09-05,20.26,389,93,1\n"9094",2020-09-23,19.2,276,94,1\n"9095",2020-09-18,20.19,237,95,1\n"9096",2020-09-08,19.93,196,96,1\n"9097",2020-09-22,20.49,430,97,1\n"9098",2020-09-22,19.51,638,98,1\n"9099",2020-09-06,19.82,348,99,1\n"9100",2020-09-24,20,218,100,1\n"9101",2020-09-04,21.56,370,1,2\n"9102",2020-09-15,21.32,892,2,2\n"9103",2020-09-13,21.26,393,3,2\n"9104",2020-09-07,19.35,374,4,2\n"9105",2020-09-14,20.03,184,5,2\n"9106",2020-09-25,20.51,401,6,2\n"9107",2020-09-17,21.71,444,7,2\n"9108",2020-09-11,21.31,449,8,2\n"9109",2020-09-26,20.77,233,9,2\n"9110",2020-09-05,20.38,401,10,2\n"9111",2020-09-02,19.86,567,11,2\n"9112",2020-09-18,20.24,506,12,2\n"9113",2020-09-25,20.96,132,13,2\n"9114",2020-09-21,19.79,494,14,2\n"9115",2020-09-27,20.44,415,15,2\n"9116",2020-09-06,20.04,600,16,2\n"9117",2020-09-17,21.61,474,17,2\n"9118",2020-09-10,20.64,291,18,2\n"9119",2020-09-03,20.04,450,19,2\n"9120",2020-09-23,20.89,383,20,2\n"9121",2020-09-02,19.94,244,21,2\n"9122",2020-09-17,19.87,230,22,2\n"9123",2020-09-23,20.01,845,23,2\n"9124",2020-09-16,20.07,2051,24,2\n"9125",2020-09-27,19.95,253,25,2\n"9126",2020-09-30,19.14,600,26,2\n"9127",2020-09-15,19.85,657,27,2\n"9128",2020-09-24,20.32,336,28,2\n"9129",2020-09-03,20.33,498,29,2\n"9130",2020-09-18,21.04,293,30,2\n"9131",2020-09-14,21.48,1374,31,2\n"9132",2020-09-25,20.73,124,32,2\n"9133",2020-09-22,21.09,454,33,2\n"9134",2020-09-12,21.3,730,34,2\n"9135",2020-09-09,21.44,302,35,2\n"9136",2020-09-10,20.09,158,36,2\n"9137",2020-09-18,20.91,388,37,2\n"9138",2020-09-15,20.7,647,38,2\n"9139",2020-09-22,19.21,251,39,2\n"9140",2020-09-11,21.55,618,40,2\n"9141",2020-09-19,20.67,305,41,2\n"9142",2020-09-18,20.03,382,42,2\n"9143",2020-09-05,19.1,969,43,2\n"9144",2020-09-23,19.9,632,44,2\n"9145",2020-09-11,21.09,393,45,2\n"9146",2020-09-23,18.68,293,46,2\n"9147",2020-09-03,21.29,440,47,2\n"9148",2020-09-13,20,424,48,2\n"9149",2020-09-24,19.38,309,49,2\n"9150",2020-09-16,19.83,492,50,2\n"9151",2020-09-18,20.1,457,51,2\n"9152",2020-09-19,20.5,264,52,2\n"9153",2020-09-18,19.58,587,53,2\n"9154",2020-09-05,18.91,398,54,2\n"9155",2020-09-02,20.27,374,55,2\n"9156",2020-09-21,20.05,780,56,2\n"9157",2020-09-04,20.45,626,57,2\n"9158",2020-09-09,20.27,651,58,2\n"9159",2020-09-13,19.17,316,59,2\n"9160",2020-09-24,19.87,729,60,2\n"9161",2020-09-20,20.39,333,61,2\n"9162",2020-09-12,19.98,292,62,2\n"9163",2020-09-04,20.1,389,63,2\n"9164",2020-09-08,20.04,562,64,2\n"9165",2020-09-25,21.21,334,65,2\n"9166",2020-09-03,20.46,875,66,2\n"9167",2020-09-08,20.38,905,67,2\n"9168",2020-09-21,19.85,329,68,2\n"9169",2020-09-22,21.47,490,69,2\n"9170",2020-09-21,20.22,231,70,2\n"9171",2020-09-18,20.59,354,71,2\n"9172",2020-09-02,21.43,954,72,2\n"9173",2020-09-02,19.63,170,73,2\n"9174",2020-09-27,21.4,614,74,2\n"9175",2020-09-19,20.85,195,75,2\n"9176",2020-09-28,19.55,484,76,2\n"9177",2020-09-04,20.05,585,77,2\n"9178",2020-09-04,20.6,973,78,2\n"9179",2020-09-05,19.82,603,79,2\n"9180",2020-09-12,20.5,944,80,2\n"9181",2020-09-07,21.22,534,81,2\n"9182",2020-09-23,18.61,255,82,2\n"9183",2020-09-24,21.79,783,83,2\n"9184",2020-09-02,20.44,496,84,2\n"9185",2020-09-17,21.45,1538,85,2\n"9186",2020-09-29,18.99,1051,86,2\n"9187",2020-09-23,19.74,293,87,2\n"9188",2020-09-20,20.19,439,88,2\n"9189",2020-09-17,20.46,1015,89,2\n"9190",2020-09-02,20.36,307,90,2\n"9191",2020-09-27,20.63,558,91,2\n"9192",2020-09-19,20.23,43,92,2\n"9193",2020-09-05,20.32,320,93,2\n"9194",2020-09-23,19.77,442,94,2\n"9195",2020-09-18,20.39,421,95,2\n"9196",2020-09-08,19.73,815,96,2\n"9197",2020-09-22,20.87,275,97,2\n"9198",2020-09-22,20.31,245,98,2\n"9199",2020-09-06,21.59,336,99,2\n"9200",2020-09-24,20.7,665,100,2\n"9201",2020-09-04,20.18,610,1,3\n"9202",2020-09-15,21.42,262,2,3\n"9203",2020-09-13,19.29,503,3,3\n"9204",2020-09-07,20.31,839,4,3\n"9205",2020-09-14,20.07,1008,5,3\n"9206",2020-09-25,19.87,472,6,3\n"9207",2020-09-17,20.27,303,7,3\n"9208",2020-09-11,19.82,312,8,3\n"9209",2020-09-26,19.45,440,9,3\n"9210",2020-09-05,20.56,379,10,3\n"9211",2020-09-02,19.76,517,11,3\n"9212",2020-09-18,20.99,732,12,3\n"9213",2020-09-25,19.79,440,13,3\n"9214",2020-09-21,20.37,366,14,3\n"9215",2020-09-27,20.76,532,15,3\n"9216",2020-09-06,20.09,308,16,3\n"9217",2020-09-17,18.88,247,17,3\n"9218",2020-09-10,21.2,349,18,3\n"9219",2020-09-03,19.77,452,19,3\n"9220",2020-09-23,20.28,460,20,3\n"9221",2020-09-02,20.05,100,21,3\n"9222",2020-09-17,19.3,808,22,3\n"9223",2020-09-23,20.35,450,23,3\n"9224",2020-09-16,19.56,651,24,3\n"9225",2020-09-27,20.05,633,25,3\n"9226",2020-09-30,19.1,204,26,3\n"9227",2020-09-15,20.13,534,27,3\n"9228",2020-09-24,19.13,275,28,3\n"9229",2020-09-03,20.96,433,29,3\n"9230",2020-09-18,21.33,1084,30,3\n"9231",2020-09-14,21.08,317,31,3\n"9232",2020-09-25,21.55,296,32,3\n"9233",2020-09-22,20.44,237,33,3\n"9234",2020-09-12,19.32,307,34,3\n"9235",2020-09-09,20.1,351,35,3\n"9236",2020-09-10,19.33,429,36,3\n"9237",2020-09-18,21,532,37,3\n"9238",2020-09-15,19.99,590,38,3\n"9239",2020-09-22,19.97,441,39,3\n"9240",2020-09-11,20,339,40,3\n"9241",2020-09-19,20.63,225,41,3\n"9242",2020-09-18,20.9,655,42,3\n"9243",2020-09-05,20.29,476,43,3\n"9244",2020-09-23,20.54,539,44,3\n"9245",2020-09-11,19.95,186,45,3\n"9246",2020-09-23,21.01,648,46,3\n"9247",2020-09-03,20.22,280,47,3\n"9248",2020-09-13,19.39,679,48,3\n"9249",2020-09-24,19.88,303,49,3\n"9250",2020-09-16,19.34,700,50,3\n"9251",2020-09-18,20.32,696,51,3\n"9252",2020-09-19,20.42,269,52,3\n"9253",2020-09-18,19,596,53,3\n"9254",2020-09-05,21.2,1100,54,3\n"9255",2020-09-02,20.05,278,55,3\n"9256",2020-09-21,20.59,203,56,3\n"9257",2020-09-04,19.41,556,57,3\n"9258",2020-09-09,20.37,585,58,3\n"9259",2020-09-13,19.91,111,59,3\n"9260",2020-09-24,20.26,666,60,3\n"9261",2020-09-20,19.8,875,61,3\n"9262",2020-09-12,21.11,392,62,3\n"9263",2020-09-04,19.26,563,63,3\n"9264",2020-09-08,19.85,731,64,3\n"9265",2020-09-25,19.02,424,65,3\n"9266",2020-09-03,19.46,206,66,3\n"9267",2020-09-08,20.55,302,67,3\n"9268",2020-09-21,19.88,390,68,3\n"9269",2020-09-22,20.6,265,69,3\n"9270",2020-09-21,20.03,408,70,3\n"9271",2020-09-18,20.31,1636,71,3\n"9272",2020-09-02,19.76,300,72,3\n"9273",2020-09-02,20.5,297,73,3\n"9274",2020-09-27,20.77,337,74,3\n"9275",2020-09-19,19.58,743,75,3\n"9276",2020-09-28,20.28,328,76,3\n"9277",2020-09-04,20.25,371,77,3\n"9278",2020-09-04,20.92,266,78,3\n"9279",2020-09-05,20.12,447,79,3\n"9280",2020-09-12,20.95,711,80,3\n"9281",2020-09-07,20.82,82,81,3\n"9282",2020-09-23,20.2,517,82,3\n"9283",2020-09-24,19.54,217,83,3\n"9284",2020-09-02,20.21,372,84,3\n"9285",2020-09-17,20.44,328,85,3\n"9286",2020-09-29,20.17,1798,86,3\n"9287",2020-09-23,20.06,681,87,3\n"9288",2020-09-20,20.88,351,88,3\n"9289",2020-09-17,19.42,661,89,3\n"9290",2020-09-02,19.22,482,90,3\n"9291",2020-09-27,20.14,183,91,3\n"9292",2020-09-19,20.06,252,92,3\n"9293",2020-09-05,19.69,639,93,3\n"9294",2020-09-23,20.14,1012,94,3\n"9295",2020-09-18,19.86,538,95,3\n"9296",2020-09-08,20.24,221,96,3\n"9297",2020-09-22,20.25,223,97,3\n"9298",2020-09-22,19.94,423,98,3\n"9299",2020-09-06,20.61,288,99,3\n"9300",2020-09-24,19.52,473,100,3\n"9301",2020-09-04,19.66,891,1,4\n"9302",2020-09-15,19.91,724,2,4\n"9303",2020-09-13,19.52,379,3,4\n"9304",2020-09-07,19.79,483,4,4\n"9305",2020-09-14,20.43,257,5,4\n"9306",2020-09-25,20.61,591,6,4\n"9307",2020-09-17,20.3,741,7,4\n"9308",2020-09-11,20.1,176,8,4\n"9309",2020-09-26,19.81,266,9,4\n"9310",2020-09-05,19.94,961,10,4\n"9311",2020-09-02,19.43,252,11,4\n"9312",2020-09-18,19.11,248,12,4\n"9313",2020-09-25,20.09,274,13,4\n"9314",2020-09-21,21.39,224,14,4\n"9315",2020-09-27,20.01,729,15,4\n"9316",2020-09-06,21.77,523,16,4\n"9317",2020-09-17,19.98,372,17,4\n"9318",2020-09-10,20.27,419,18,4\n"9319",2020-09-03,20.1,166,19,4\n"9320",2020-09-23,19.11,1439,20,4\n"9321",2020-09-02,20.74,389,21,4\n"9322",2020-09-17,20.85,137,22,4\n"9323",2020-09-23,20.51,986,23,4\n"9324",2020-09-16,19.7,793,24,4\n"9325",2020-09-27,20.72,370,25,4\n"9326",2020-09-30,20.75,926,26,4\n"9327",2020-09-15,20.02,651,27,4\n"9328",2020-09-24,20.39,234,28,4\n"9329",2020-09-03,19.75,321,29,4\n"9330",2020-09-18,19.72,344,30,4\n"9331",2020-09-14,19.85,299,31,4\n"9332",2020-09-25,19.87,489,32,4\n"9333",2020-09-22,20.32,608,33,4\n"9334",2020-09-12,20.82,292,34,4\n"9335",2020-09-09,20.35,134,35,4\n"9336",2020-09-10,20.37,434,36,4\n"9337",2020-09-18,20.65,310,37,4\n"9338",2020-09-15,20.7,1107,38,4\n"9339",2020-09-22,20.02,326,39,4\n"9340",2020-09-11,20.22,400,40,4\n"9341",2020-09-19,20.34,834,41,4\n"9342",2020-09-18,20.92,381,42,4\n"9343",2020-09-05,19.02,311,43,4\n"9344",2020-09-23,19.2,695,44,4\n"9345",2020-09-11,20.38,262,45,4\n"9346",2020-09-23,21.7,381,46,4\n"9347",2020-09-03,21.41,320,47,4\n"9348",2020-09-13,20.51,426,48,4\n"9349",2020-09-24,19.52,666,49,4\n"9350",2020-09-16,20.19,844,50,4\n"9351",2020-09-18,21.17,378,51,4\n"9352",2020-09-19,19.35,457,52,4\n"9353",2020-09-18,20.89,316,53,4\n"9354",2020-09-05,20.5,366,54,4\n"9355",2020-09-02,18.61,648,55,4\n"9356",2020-09-21,19.71,397,56,4\n"9357",2020-09-04,21.31,525,57,4\n"9358",2020-09-09,19.07,775,58,4\n"9359",2020-09-13,20.15,368,59,4\n"9360",2020-09-24,20.6,163,60,4\n"9361",2020-09-20,20.05,721,61,4\n"9362",2020-09-12,21.01,1927,62,4\n"9363",2020-09-04,20.01,192,63,4\n"9364",2020-09-08,20.75,351,64,4\n"9365",2020-09-25,19.83,372,65,4\n"9366",2020-09-03,19.6,167,66,4\n"9367",2020-09-08,20.38,305,67,4\n"9368",2020-09-21,20.89,263,68,4\n"9369",2020-09-22,20.1,307,69,4\n"9370",2020-09-21,19.79,147,70,4\n"9371",2020-09-18,21.89,344,71,4\n"9372",2020-09-02,20.24,218,72,4\n"9373",2020-09-02,20.33,153,73,4\n"9374",2020-09-27,20.96,358,74,4\n"9375",2020-09-19,20.57,435,75,4\n"9376",2020-09-28,20.16,1588,76,4\n"9377",2020-09-04,20.25,331,77,4\n"9378",2020-09-04,19.93,748,78,4\n"9379",2020-09-05,20.44,265,79,4\n"9380",2020-09-12,19.5,467,80,4\n"9381",2020-09-07,19.38,528,81,4\n"9382",2020-09-23,20.83,1208,82,4\n"9383",2020-09-24,19.82,724,83,4\n"9384",2020-09-02,20.01,310,84,4\n"9385",2020-09-17,20.4,495,85,4\n"9386",2020-09-29,19.33,232,86,4\n"9387",2020-09-23,19.98,289,87,4\n"9388",2020-09-20,19.78,1202,88,4\n"9389",2020-09-17,19.6,514,89,4\n"9390",2020-09-02,20.44,715,90,4\n"9391",2020-09-27,20.42,294,91,4\n"9392",2020-09-19,19.68,346,92,4\n"9393",2020-09-05,20.71,532,93,4\n"9394",2020-09-23,19.44,313,94,4\n"9395",2020-09-18,21.97,471,95,4\n"9396",2020-09-08,20.32,154,96,4\n"9397",2020-09-22,20.14,273,97,4\n"9398",2020-09-22,19.8,868,98,4\n"9399",2020-09-06,21.17,391,99,4\n"9400",2020-09-24,20.63,478,100,4\n"9401",2020-09-04,20.91,645,1,5\n"9402",2020-09-15,19.87,397,2,5\n"9403",2020-09-13,20.18,721,3,5\n"9404",2020-09-07,19.77,217,4,5\n"9405",2020-09-14,19.15,506,5,5\n"9406",2020-09-25,20.05,554,6,5\n"9407",2020-09-17,21.37,468,7,5\n"9408",2020-09-11,21.23,526,8,5\n"9409",2020-09-26,20.06,334,9,5\n"9410",2020-09-05,20.04,2283,10,5\n"9411",2020-09-02,20.71,714,11,5\n"9412",2020-09-18,20.64,478,12,5\n"9413",2020-09-25,20.66,308,13,5\n"9414",2020-09-21,20.7,333,14,5\n"9415",2020-09-27,19.95,672,15,5\n"9416",2020-09-06,20.12,446,16,5\n"9417",2020-09-17,19.94,291,17,5\n"9418",2020-09-10,20.27,616,18,5\n"9419",2020-09-03,19.99,566,19,5\n"9420",2020-09-23,20.39,817,20,5\n"9421",2020-09-02,20.03,867,21,5\n"9422",2020-09-17,19.6,538,22,5\n"9423",2020-09-23,19.83,344,23,5\n"9424",2020-09-16,19.62,400,24,5\n"9425",2020-09-27,20.4,143,25,5\n"9426",2020-09-30,20.32,1091,26,5\n"9427",2020-09-15,20.62,198,27,5\n"9428",2020-09-24,19.6,284,28,5\n"9429",2020-09-03,19.65,1057,29,5\n"9430",2020-09-18,21.46,426,30,5\n"9431",2020-09-14,20.55,1102,31,5\n"9432",2020-09-25,20.41,336,32,5\n"9433",2020-09-22,19.65,275,33,5\n"9434",2020-09-12,19.85,283,34,5\n"9435",2020-09-09,20.51,263,35,5\n"9436",2020-09-10,19.33,696,36,5\n"9437",2020-09-18,19.62,353,37,5\n"9438",2020-09-15,19.86,752,38,5\n"9439",2020-09-22,19.47,588,39,5\n"9440",2020-09-11,19.25,785,40,5\n"9441",2020-09-19,19.8,373,41,5\n"9442",2020-09-18,19.39,663,42,5\n"9443",2020-09-05,20.15,333,43,5\n"9444",2020-09-23,20.4,373,44,5\n"9445",2020-09-11,19.54,628,45,5\n"9446",2020-09-23,20.26,368,46,5\n"9447",2020-09-03,20.65,241,47,5\n"9448",2020-09-13,20.91,295,48,5\n"9449",2020-09-24,19.57,1847,49,5\n"9450",2020-09-16,20.44,237,50,5\n"9451",2020-09-18,20.18,248,51,5\n"9452",2020-09-19,19.52,285,52,5\n"9453",2020-09-18,20.02,1296,53,5\n"9454",2020-09-05,20.31,899,54,5\n"9455",2020-09-02,20.57,200,55,5\n"9456",2020-09-21,19.23,479,56,5\n"9457",2020-09-04,20.29,698,57,5\n"9458",2020-09-09,21.62,194,58,5\n"9459",2020-09-13,20.35,279,59,5\n"9460",2020-09-24,20.44,274,60,5\n"9461",2020-09-20,20.26,367,61,5\n"9462",2020-09-12,20.02,509,62,5\n"9463",2020-09-04,19,483,63,5\n"9464",2020-09-08,20.46,654,64,5\n"9465",2020-09-25,19.74,255,65,5\n"9466",2020-09-03,19.13,385,66,5\n"9467",2020-09-08,19.4,269,67,5\n"9468",2020-09-21,20.58,402,68,5\n"9469",2020-09-22,19.69,556,69,5\n"9470",2020-09-21,19.6,468,70,5\n"9471",2020-09-18,19.6,618,71,5\n"9472",2020-09-02,20.26,654,72,5\n"9473",2020-09-02,18.87,444,73,5\n"9474",2020-09-27,20.82,454,74,5\n"9475",2020-09-19,21.13,178,75,5\n"9476",2020-09-28,19.79,441,76,5\n"9477",2020-09-04,19.62,270,77,5\n"9478",2020-09-04,20.32,200,78,5\n"9479",2020-09-05,21.29,246,79,5\n"9480",2020-09-12,20.88,619,80,5\n"9481",2020-09-07,19.54,280,81,5\n"9482",2020-09-23,20.36,440,82,5\n"9483",2020-09-24,19.55,395,83,5\n"9484",2020-09-02,21.14,1860,84,5\n"9485",2020-09-17,20.33,628,85,5\n"9486",2020-09-29,20.66,803,86,5\n"9487",2020-09-23,19.75,284,87,5\n"9488",2020-09-20,20.74,795,88,5\n"9489",2020-09-17,19.81,1282,89,5\n"9490",2020-09-02,20.11,563,90,5\n"9491",2020-09-27,19.78,146,91,5\n"9492",2020-09-19,20.73,1133,92,5\n"9493",2020-09-05,19.94,591,93,5\n"9494",2020-09-23,20.21,919,94,5\n"9495",2020-09-18,20.6,635,95,5\n"9496",2020-09-08,19.86,372,96,5\n"9497",2020-09-22,20.43,190,97,5\n"9498",2020-09-22,20.66,484,98,5\n"9499",2020-09-06,19.82,729,99,5\n"9500",2020-09-24,20.3,526,100,5\n"9501",2020-09-04,19.4,401,1,6\n"9502",2020-09-15,19.62,503,2,6\n"9503",2020-09-13,19.86,525,3,6\n"9504",2020-09-07,21.38,813,4,6\n"9505",2020-09-14,20.08,182,5,6\n"9506",2020-09-25,20.84,348,6,6\n"9507",2020-09-17,19.75,573,7,6\n"9508",2020-09-11,20.57,330,8,6\n"9509",2020-09-26,20.43,902,9,6\n"9510",2020-09-05,20.09,173,10,6\n"9511",2020-09-02,20.86,288,11,6\n"9512",2020-09-18,19.67,552,12,6\n"9513",2020-09-25,19.74,549,13,6\n"9514",2020-09-21,19.93,402,14,6\n"9515",2020-09-27,20.17,810,15,6\n"9516",2020-09-06,20.75,232,16,6\n"9517",2020-09-17,19.86,575,17,6\n"9518",2020-09-10,19.85,251,18,6\n"9519",2020-09-03,19.55,344,19,6\n"9520",2020-09-23,20.21,490,20,6\n"9521",2020-09-02,20.18,168,21,6\n"9522",2020-09-17,19.5,542,22,6\n"9523",2020-09-23,19.91,492,23,6\n"9524",2020-09-16,19.54,401,24,6\n"9525",2020-09-27,20.46,482,25,6\n"9526",2020-09-30,20.39,375,26,6\n"9527",2020-09-15,20.54,645,27,6\n"9528",2020-09-24,19.54,234,28,6\n"9529",2020-09-03,19.96,553,29,6\n"9530",2020-09-18,18.75,302,30,6\n"9531",2020-09-14,20.26,338,31,6\n"9532",2020-09-25,20.58,457,32,6\n"9533",2020-09-22,20.28,272,33,6\n"9534",2020-09-12,20.56,1216,34,6\n"9535",2020-09-09,20.61,674,35,6\n"9536",2020-09-10,20.06,190,36,6\n"9537",2020-09-18,21.37,389,37,6\n"9538",2020-09-15,20.02,482,38,6\n"9539",2020-09-22,20.36,575,39,6\n"9540",2020-09-11,20.45,660,40,6\n"9541",2020-09-19,20.87,1018,41,6\n"9542",2020-09-18,19.97,277,42,6\n"9543",2020-09-05,20.63,316,43,6\n"9544",2020-09-23,19.46,713,44,6\n"9545",2020-09-11,20.77,626,45,6\n"9546",2020-09-23,20.38,270,46,6\n"9547",2020-09-03,21.36,268,47,6\n"9548",2020-09-13,20.22,440,48,6\n"9549",2020-09-24,19.79,142,49,6\n"9550",2020-09-16,21.39,313,50,6\n"9551",2020-09-18,19.47,439,51,6\n"9552",2020-09-19,20.64,321,52,6\n"9553",2020-09-18,21.75,228,53,6\n"9554",2020-09-05,20.1,931,54,6\n"9555",2020-09-02,20.7,224,55,6\n"9556",2020-09-21,19.19,299,56,6\n"9557",2020-09-04,20.5,722,57,6\n"9558",2020-09-09,20,292,58,6\n"9559",2020-09-13,20.01,407,59,6\n"9560",2020-09-24,20.63,409,60,6\n"9561",2020-09-20,19.9,312,61,6\n"9562",2020-09-12,20.27,295,62,6\n"9563",2020-09-04,18.76,293,63,6\n"9564",2020-09-08,19.88,195,64,6\n"9565",2020-09-25,21.21,528,65,6\n"9566",2020-09-03,20.97,209,66,6\n"9567",2020-09-08,20.17,406,67,6\n"9568",2020-09-21,20.9,670,68,6\n"9569",2020-09-22,20.57,350,69,6\n"9570",2020-09-21,20.17,526,70,6\n"9571",2020-09-18,19.71,690,71,6\n"9572",2020-09-02,19.85,586,72,6\n"9573",2020-09-02,20.49,564,73,6\n"9574",2020-09-27,19.98,931,74,6\n"9575",2020-09-19,20.16,374,75,6\n"9576",2020-09-28,20.68,210,76,6\n"9577",2020-09-04,19.87,1730,77,6\n"9578",2020-09-04,19.97,216,78,6\n"9579",2020-09-05,20.86,674,79,6\n"9580",2020-09-12,19.45,307,80,6\n"9581",2020-09-07,20.84,834,81,6\n"9582",2020-09-23,19.42,430,82,6\n"9583",2020-09-24,20.22,864,83,6\n"9584",2020-09-02,19.97,963,84,6\n"9585",2020-09-17,21.55,122,85,6\n"9586",2020-09-29,20.06,675,86,6\n"9587",2020-09-23,19.48,758,87,6\n"9588",2020-09-20,19.03,236,88,6\n"9589",2020-09-17,19.9,753,89,6\n"9590",2020-09-02,20.89,221,90,6\n"9591",2020-09-27,20.39,531,91,6\n"9592",2020-09-19,20.15,577,92,6\n"9593",2020-09-05,20.34,220,93,6\n"9594",2020-09-23,21.18,528,94,6\n"9595",2020-09-18,20.8,274,95,6\n"9596",2020-09-08,19.96,335,96,6\n"9597",2020-09-22,19.56,467,97,6\n"9598",2020-09-22,19.63,711,98,6\n"9599",2020-09-06,20.02,651,99,6\n"9600",2020-09-24,20.38,595,100,6\n"9601",2020-09-04,19.67,576,1,7\n"9602",2020-09-15,21,875,2,7\n"9603",2020-09-13,19.99,541,3,7\n"9604",2020-09-07,19.88,837,4,7\n"9605",2020-09-14,19.39,362,5,7\n"9606",2020-09-25,20.06,846,6,7\n"9607",2020-09-17,19.44,435,7,7\n"9608",2020-09-11,21.48,639,8,7\n"9609",2020-09-26,20.2,204,9,7\n"9610",2020-09-05,20.16,410,10,7\n"9611",2020-09-02,20.25,907,11,7\n"9612",2020-09-18,20,788,12,7\n"9613",2020-09-25,19.71,894,13,7\n"9614",2020-09-21,19.67,546,14,7\n"9615",2020-09-27,20.38,195,15,7\n"9616",2020-09-06,20.47,389,16,7\n"9617",2020-09-17,20.64,188,17,7\n"9618",2020-09-10,20.01,397,18,7\n"9619",2020-09-03,19.85,270,19,7\n"9620",2020-09-23,19.97,130,20,7\n"9621",2020-09-02,19.44,267,21,7\n"9622",2020-09-17,19.66,298,22,7\n"9623",2020-09-23,21.4,295,23,7\n"9624",2020-09-16,20.75,188,24,7\n"9625",2020-09-27,19.94,410,25,7\n"9626",2020-09-30,20.03,1051,26,7\n"9627",2020-09-15,20.65,691,27,7\n"9628",2020-09-24,19.96,933,28,7\n"9629",2020-09-03,20.9,537,29,7\n"9630",2020-09-18,19.35,605,30,7\n"9631",2020-09-14,20.27,602,31,7\n"9632",2020-09-25,20.91,326,32,7\n"9633",2020-09-22,20.22,486,33,7\n"9634",2020-09-12,19.77,454,34,7\n"9635",2020-09-09,20.28,819,35,7\n"9636",2020-09-10,20.55,285,36,7\n"9637",2020-09-18,19.83,403,37,7\n"9638",2020-09-15,20.85,816,38,7\n"9639",2020-09-22,19.19,356,39,7\n"9640",2020-09-11,20.52,449,40,7\n"9641",2020-09-19,20.73,753,41,7\n"9642",2020-09-18,20,581,42,7\n"9643",2020-09-05,19.89,297,43,7\n"9644",2020-09-23,20.05,1009,44,7\n"9645",2020-09-11,19.93,537,45,7\n"9646",2020-09-23,19.52,142,46,7\n"9647",2020-09-03,20.43,216,47,7\n"9648",2020-09-13,19.58,229,48,7\n"9649",2020-09-24,19.69,258,49,7\n"9650",2020-09-16,19.94,1216,50,7\n"9651",2020-09-18,20.2,273,51,7\n"9652",2020-09-19,20.23,452,52,7\n"9653",2020-09-18,19.62,608,53,7\n"9654",2020-09-05,20.54,443,54,7\n"9655",2020-09-02,20.07,166,55,7\n"9656",2020-09-21,19.05,500,56,7\n"9657",2020-09-04,20.48,540,57,7\n"9658",2020-09-09,20.89,203,58,7\n"9659",2020-09-13,20.15,529,59,7\n"9660",2020-09-24,19.24,309,60,7\n"9661",2020-09-20,20.72,285,61,7\n"9662",2020-09-12,20.85,208,62,7\n"9663",2020-09-04,20.09,638,63,7\n"9664",2020-09-08,21,226,64,7\n"9665",2020-09-25,21.73,686,65,7\n"9666",2020-09-03,20.46,764,66,7\n"9667",2020-09-08,20.09,584,67,7\n"9668",2020-09-21,20.09,244,68,7\n"9669",2020-09-22,21.1,329,69,7\n"9670",2020-09-21,20.01,326,70,7\n"9671",2020-09-18,20.45,399,71,7\n"9672",2020-09-02,20.37,507,72,7\n"9673",2020-09-02,20.1,744,73,7\n"9674",2020-09-27,19.68,232,74,7\n"9675",2020-09-19,19.49,387,75,7\n"9676",2020-09-28,19.45,759,76,7\n"9677",2020-09-04,19.5,536,77,7\n"9678",2020-09-04,19.26,541,78,7\n"9679",2020-09-05,20.72,733,79,7\n"9680",2020-09-12,20.17,532,80,7\n"9681",2020-09-07,19.74,511,81,7\n"9682",2020-09-23,20.16,346,82,7\n"9683",2020-09-24,20.08,661,83,7\n"9684",2020-09-02,19.59,1029,84,7\n"9685",2020-09-17,20.17,989,85,7\n"9686",2020-09-29,20.3,239,86,7\n"9687",2020-09-23,20.27,249,87,7\n"9688",2020-09-20,19.55,140,88,7\n"9689",2020-09-17,19.88,795,89,7\n"9690",2020-09-02,18.57,319,90,7\n"9691",2020-09-27,21,395,91,7\n"9692",2020-09-19,20.1,1070,92,7\n"9693",2020-09-05,20.61,1113,93,7\n"9694",2020-09-23,20.33,606,94,7\n"9695",2020-09-18,20.92,819,95,7\n"9696",2020-09-08,20.38,392,96,7\n"9697",2020-09-22,21.06,1466,97,7\n"9698",2020-09-22,19.29,752,98,7\n"9699",2020-09-06,20.18,298,99,7\n"9700",2020-09-24,20.57,1236,100,7\n"9701",2020-09-04,20.98,245,1,8\n"9702",2020-09-15,19.92,920,2,8\n"9703",2020-09-13,20.61,659,3,8\n"9704",2020-09-07,20.47,486,4,8\n"9705",2020-09-14,19.9,592,5,8\n"9706",2020-09-25,21.06,275,6,8\n"9707",2020-09-17,20.84,184,7,8\n"9708",2020-09-11,21.09,688,8,8\n"9709",2020-09-26,21.33,229,9,8\n"9710",2020-09-05,20.39,254,10,8\n"9711",2020-09-02,20.38,277,11,8\n"9712",2020-09-18,21.38,154,12,8\n"9713",2020-09-25,19.68,313,13,8\n"9714",2020-09-21,19.79,624,14,8\n"9715",2020-09-27,19.89,396,15,8\n"9716",2020-09-06,20.35,194,16,8\n"9717",2020-09-17,19.66,252,17,8\n"9718",2020-09-10,20.32,804,18,8\n"9719",2020-09-03,19.75,549,19,8\n"9720",2020-09-23,20.14,384,20,8\n"9721",2020-09-02,20.53,409,21,8\n"9722",2020-09-17,20.35,437,22,8\n"9723",2020-09-23,20.17,192,23,8\n"9724",2020-09-16,21.05,404,24,8\n"9725",2020-09-27,20.91,731,25,8\n"9726",2020-09-30,20.16,441,26,8\n"9727",2020-09-15,20.73,338,27,8\n"9728",2020-09-24,20.12,644,28,8\n"9729",2020-09-03,19.65,548,29,8\n"9730",2020-09-18,20.02,596,30,8\n"9731",2020-09-14,19.86,263,31,8\n"9732",2020-09-25,20.33,195,32,8\n"9733",2020-09-22,20.78,678,33,8\n"9734",2020-09-12,20.15,422,34,8\n"9735",2020-09-09,20.13,217,35,8\n"9736",2020-09-10,19.99,388,36,8\n"9737",2020-09-18,19.31,595,37,8\n"9738",2020-09-15,19.01,524,38,8\n"9739",2020-09-22,19.3,168,39,8\n"9740",2020-09-11,20.36,612,40,8\n"9741",2020-09-19,20.62,1394,41,8\n"9742",2020-09-18,19.79,391,42,8\n"9743",2020-09-05,19.9,223,43,8\n"9744",2020-09-23,19.48,422,44,8\n"9745",2020-09-11,20.53,657,45,8\n"9746",2020-09-23,20.02,274,46,8\n"9747",2020-09-03,19.57,442,47,8\n"9748",2020-09-13,19.91,1053,48,8\n"9749",2020-09-24,20.83,363,49,8\n"9750",2020-09-16,19.52,225,50,8\n"9751",2020-09-18,19.36,609,51,8\n"9752",2020-09-19,21.06,225,52,8\n"9753",2020-09-18,19.65,350,53,8\n"9754",2020-09-05,20.35,667,54,8\n"9755",2020-09-02,19.89,319,55,8\n"9756",2020-09-21,20.28,464,56,8\n"9757",2020-09-04,20.06,194,57,8\n"9758",2020-09-09,20.1,206,58,8\n"9759",2020-09-13,19.75,342,59,8\n"9760",2020-09-24,19.5,1125,60,8\n"9761",2020-09-20,21.14,495,61,8\n"9762",2020-09-12,19.46,360,62,8\n"9763",2020-09-04,21,905,63,8\n"9764",2020-09-08,19.93,191,64,8\n"9765",2020-09-25,18.74,394,65,8\n"9766",2020-09-03,20.28,360,66,8\n"9767",2020-09-08,20.56,542,67,8\n"9768",2020-09-21,19.25,572,68,8\n"9769",2020-09-22,21.19,735,69,8\n"9770",2020-09-21,19.69,260,70,8\n"9771",2020-09-18,20.4,638,71,8\n"9772",2020-09-02,19.67,918,72,8\n"9773",2020-09-02,20.84,631,73,8\n"9774",2020-09-27,19.78,834,74,8\n"9775",2020-09-19,20.06,564,75,8\n"9776",2020-09-28,20.26,356,76,8\n"9777",2020-09-04,20.47,216,77,8\n"9778",2020-09-04,20.91,566,78,8\n"9779",2020-09-05,20.64,490,79,8\n"9780",2020-09-12,20.71,439,80,8\n"9781",2020-09-07,20.03,610,81,8\n"9782",2020-09-23,19.84,368,82,8\n"9783",2020-09-24,20.34,1256,83,8\n"9784",2020-09-02,21.06,256,84,8\n"9785",2020-09-17,21.22,381,85,8\n"9786",2020-09-29,20.34,266,86,8\n"9787",2020-09-23,19.84,891,87,8\n"9788",2020-09-20,20.23,486,88,8\n"9789",2020-09-17,19.73,598,89,8\n"9790",2020-09-02,20.82,350,90,8\n"9791",2020-09-27,20.07,591,91,8\n"9792",2020-09-19,20.08,560,92,8\n"9793",2020-09-05,20.03,438,93,8\n"9794",2020-09-23,20.25,826,94,8\n"9795",2020-09-18,19.46,319,95,8\n"9796",2020-09-08,20.61,947,96,8\n"9797",2020-09-22,21.34,847,97,8\n"9798",2020-09-22,20.96,211,98,8\n"9799",2020-09-06,20.51,370,99,8\n"9800",2020-09-24,20.52,363,100,8\n"9801",2020-09-04,20.39,250,1,9\n"9802",2020-09-15,20.33,383,2,9\n"9803",2020-09-13,20.76,316,3,9\n"9804",2020-09-07,19.78,629,4,9\n"9805",2020-09-14,20.68,333,5,9\n"9806",2020-09-25,20.61,742,6,9\n"9807",2020-09-17,21.23,585,7,9\n"9808",2020-09-11,20.82,313,8,9\n"9809",2020-09-26,20.2,544,9,9\n"9810",2020-09-05,20.51,507,10,9\n"9811",2020-09-02,21.07,799,11,9\n"9812",2020-09-18,20.06,575,12,9\n"9813",2020-09-25,20.84,401,13,9\n"9814",2020-09-21,21.07,777,14,9\n"9815",2020-09-27,20.47,334,15,9\n"9816",2020-09-06,20.25,410,16,9\n"9817",2020-09-17,20.87,393,17,9\n"9818",2020-09-10,20.12,1560,18,9\n"9819",2020-09-03,20.5,615,19,9\n"9820",2020-09-23,20.42,617,20,9\n"9821",2020-09-02,19.29,408,21,9\n"9822",2020-09-17,20.5,289,22,9\n"9823",2020-09-23,20.88,713,23,9\n"9824",2020-09-16,19.39,1511,24,9\n"9825",2020-09-27,19.55,302,25,9\n"9826",2020-09-30,20.36,125,26,9\n"9827",2020-09-15,19.82,237,27,9\n"9828",2020-09-24,20.14,423,28,9\n"9829",2020-09-03,21.18,646,29,9\n"9830",2020-09-18,20.17,307,30,9\n"9831",2020-09-14,19.5,434,31,9\n"9832",2020-09-25,20.61,669,32,9\n"9833",2020-09-22,20.21,407,33,9\n"9834",2020-09-12,20.75,431,34,9\n"9835",2020-09-09,21.36,510,35,9\n"9836",2020-09-10,20.52,650,36,9\n"9837",2020-09-18,19.42,818,37,9\n"9838",2020-09-15,20.1,205,38,9\n"9839",2020-09-22,19.74,272,39,9\n"9840",2020-09-11,19.99,254,40,9\n"9841",2020-09-19,20.71,498,41,9\n"9842",2020-09-18,19.94,423,42,9\n"9843",2020-09-05,20.88,1173,43,9\n"9844",2020-09-23,19.58,559,44,9\n"9845",2020-09-11,20.64,355,45,9\n"9846",2020-09-23,20.2,321,46,9\n"9847",2020-09-03,20.97,144,47,9\n"9848",2020-09-13,21.17,885,48,9\n"9849",2020-09-24,20.89,563,49,9\n"9850",2020-09-16,19.73,213,50,9\n"9851",2020-09-18,19.84,539,51,9\n"9852",2020-09-19,19.22,552,52,9\n"9853",2020-09-18,20.49,311,53,9\n"9854",2020-09-05,21.13,798,54,9\n"9855",2020-09-02,21.71,338,55,9\n"9856",2020-09-21,20.2,439,56,9\n"9857",2020-09-04,19.79,1128,57,9\n"9858",2020-09-09,19.43,817,58,9\n"9859",2020-09-13,19.84,336,59,9\n"9860",2020-09-24,19.8,493,60,9\n"9861",2020-09-20,19.5,165,61,9\n"9862",2020-09-12,20.07,441,62,9\n"9863",2020-09-04,20.33,257,63,9\n"9864",2020-09-08,20.21,507,64,9\n"9865",2020-09-25,19.17,147,65,9\n"9866",2020-09-03,19.85,341,66,9\n"9867",2020-09-08,21.74,166,67,9\n"9868",2020-09-21,20.88,571,68,9\n"9869",2020-09-22,20.56,1262,69,9\n"9870",2020-09-21,21.28,494,70,9\n"9871",2020-09-18,20.75,312,71,9\n"9872",2020-09-02,21.51,578,72,9\n"9873",2020-09-02,21.16,531,73,9\n"9874",2020-09-27,19.71,373,74,9\n"9875",2020-09-19,20.64,478,75,9\n"9876",2020-09-28,19.72,225,76,9\n"9877",2020-09-04,19.88,296,77,9\n"9878",2020-09-04,20.4,481,78,9\n"9879",2020-09-05,20.47,375,79,9\n"9880",2020-09-12,20.18,276,80,9\n"9881",2020-09-07,21.24,407,81,9\n"9882",2020-09-23,20.82,509,82,9\n"9883",2020-09-24,21.32,242,83,9\n"9884",2020-09-02,20.41,665,84,9\n"9885",2020-09-17,19.29,275,85,9\n"9886",2020-09-29,20.47,454,86,9\n"9887",2020-09-23,20.78,303,87,9\n"9888",2020-09-20,20.4,547,88,9\n"9889",2020-09-17,19.61,363,89,9\n"9890",2020-09-02,19.88,655,90,9\n"9891",2020-09-27,21.04,233,91,9\n"9892",2020-09-19,20.2,136,92,9\n"9893",2020-09-05,19.92,475,93,9\n"9894",2020-09-23,19.54,824,94,9\n"9895",2020-09-18,20.59,139,95,9\n"9896",2020-09-08,20.2,513,96,9\n"9897",2020-09-22,19.87,168,97,9\n"9898",2020-09-22,20.09,176,98,9\n"9899",2020-09-06,19.57,521,99,9\n"9900",2020-09-24,20.09,203,100,9\n"9901",2020-09-04,21.15,709,1,10\n"9902",2020-09-15,19.12,733,2,10\n"9903",2020-09-13,19.72,658,3,10\n"9904",2020-09-07,20.82,156,4,10\n"9905",2020-09-14,19.43,243,5,10\n"9906",2020-09-25,20.39,1268,6,10\n"9907",2020-09-17,19.55,998,7,10\n"9908",2020-09-11,19.8,199,8,10\n"9909",2020-09-26,20.59,573,9,10\n"9910",2020-09-05,20.27,132,10,10\n"9911",2020-09-02,19.66,207,11,10\n"9912",2020-09-18,19.64,780,12,10\n"9913",2020-09-25,19.5,612,13,10\n"9914",2020-09-21,20.02,575,14,10\n"9915",2020-09-27,20.53,773,15,10\n"9916",2020-09-06,21.2,350,16,10\n"9917",2020-09-17,19.98,671,17,10\n"9918",2020-09-10,20.96,1240,18,10\n"9919",2020-09-03,20.41,191,19,10\n"9920",2020-09-23,20,1041,20,10\n"9921",2020-09-02,20.4,856,21,10\n"9922",2020-09-17,20.12,449,22,10\n"9923",2020-09-23,20.38,267,23,10\n"9924",2020-09-16,19.79,527,24,10\n"9925",2020-09-27,20,244,25,10\n"9926",2020-09-30,21.5,381,26,10\n"9927",2020-09-15,20.77,210,27,10\n"9928",2020-09-24,18.65,270,28,10\n"9929",2020-09-03,21.66,200,29,10\n"9930",2020-09-18,20.64,676,30,10\n"9931",2020-09-14,19.13,1212,31,10\n"9932",2020-09-25,19.92,971,32,10\n"9933",2020-09-22,20.21,298,33,10\n"9934",2020-09-12,21.01,439,34,10\n"9935",2020-09-09,19.59,173,35,10\n"9936",2020-09-10,20.11,674,36,10\n"9937",2020-09-18,20.83,586,37,10\n"9938",2020-09-15,20.67,406,38,10\n"9939",2020-09-22,20.99,634,39,10\n"9940",2020-09-11,20.24,277,40,10\n"9941",2020-09-19,20.96,548,41,10\n"9942",2020-09-18,20.43,257,42,10\n"9943",2020-09-05,20.62,208,43,10\n"9944",2020-09-23,20.37,601,44,10\n"9945",2020-09-11,20.83,439,45,10\n"9946",2020-09-23,19.88,754,46,10\n"9947",2020-09-03,20.11,66,47,10\n"9948",2020-09-13,21.54,1308,48,10\n"9949",2020-09-24,20.72,1163,49,10\n"9950",2020-09-16,20.96,139,50,10\n"9951",2020-09-18,20.69,384,51,10\n"9952",2020-09-19,20.79,220,52,10\n"9953",2020-09-18,20.07,281,53,10\n"9954",2020-09-05,19.59,227,54,10\n"9955",2020-09-02,19.82,208,55,10\n"9956",2020-09-21,19.16,951,56,10\n"9957",2020-09-04,18.95,1215,57,10\n"9958",2020-09-09,21.4,263,58,10\n"9959",2020-09-13,20.47,640,59,10\n"9960",2020-09-24,21.2,294,60,10\n"9961",2020-09-20,21.38,470,61,10\n"9962",2020-09-12,21.93,1279,62,10\n"9963",2020-09-04,20.75,398,63,10\n"9964",2020-09-08,20.9,783,64,10\n"9965",2020-09-25,20.1,911,65,10\n"9966",2020-09-03,20.47,289,66,10\n"9967",2020-09-08,19.3,426,67,10\n"9968",2020-09-21,22.7,145,68,10\n"9969",2020-09-22,20.28,110,69,10\n"9970",2020-09-21,19.87,842,70,10\n"9971",2020-09-18,21.42,515,71,10\n"9972",2020-09-02,20.18,1412,72,10\n"9973",2020-09-02,20.37,435,73,10\n"9974",2020-09-27,20.21,812,74,10\n"9975",2020-09-19,20.44,667,75,10\n"9976",2020-09-28,20.95,297,76,10\n"9977",2020-09-04,20.24,145,77,10\n"9978",2020-09-04,19.2,550,78,10\n"9979",2020-09-05,20.81,326,79,10\n"9980",2020-09-12,20.69,336,80,10\n"9981",2020-09-07,20.43,478,81,10\n"9982",2020-09-23,19.65,826,82,10\n"9983",2020-09-24,20.17,557,83,10\n"9984",2020-09-02,20.92,760,84,10\n"9985",2020-09-17,19.79,384,85,10\n"9986",2020-09-29,20.86,526,86,10\n"9987",2020-09-23,21.24,606,87,10\n"9988",2020-09-20,20.06,343,88,10\n"9989",2020-09-17,19.65,504,89,10\n"9990",2020-09-02,20.21,170,90,10\n"9991",2020-09-27,19.93,458,91,10\n"9992",2020-09-19,19.09,448,92,10\n"9993",2020-09-05,21.16,170,93,10\n"9994",2020-09-23,20.98,339,94,10\n"9995",2020-09-18,19.09,684,95,10\n"9996",2020-09-08,19.72,132,96,10\n"9997",2020-09-22,21.54,925,97,10\n"9998",2020-09-22,19.88,896,98,10\n"9999",2020-09-06,18.72,600,99,10\n"10000",2020-09-24,19.7,326,100,10\n"10001",2020-10-15,21.4,339,1,1\n"10002",2020-10-28,20.34,821,2,1\n"10003",2020-10-12,20.78,360,3,1\n"10004",2020-10-28,20.69,695,4,1\n"10005",2020-10-04,21.19,641,5,1\n"10006",2020-10-20,21.34,639,6,1\n"10007",2020-10-08,19.85,544,7,1\n"10008",2020-10-26,20.51,271,8,1\n"10009",2020-10-19,20.78,929,9,1\n"10010",2020-10-12,20.62,429,10,1\n"10011",2020-10-19,21.05,1029,11,1\n"10012",2020-10-28,19.95,209,12,1\n"10013",2020-10-08,20.93,637,13,1\n"10014",2020-10-30,20.77,401,14,1\n"10015",2020-10-20,21.32,342,15,1\n"10016",2020-10-01,21.73,670,16,1\n"10017",2020-10-24,20.1,332,17,1\n"10018",2020-10-06,20.09,505,18,1\n"10019",2020-10-03,21.12,462,19,1\n"10020",2020-10-08,20.55,378,20,1\n"10021",2020-10-02,20.49,555,21,1\n"10022",2020-10-21,22.08,258,22,1\n"10023",2020-10-25,20.36,335,23,1\n"10024",2020-10-10,20.01,652,24,1\n"10025",2020-10-17,20.98,292,25,1\n"10026",2020-10-27,20.92,487,26,1\n"10027",2020-10-12,21.07,604,27,1\n"10028",2020-10-21,21.45,304,28,1\n"10029",2020-10-02,21.24,492,29,1\n"10030",2020-10-15,20.83,466,30,1\n"10031",2020-10-15,20.95,398,31,1\n"10032",2020-10-19,21.19,474,32,1\n"10033",2020-10-23,21.79,555,33,1\n"10034",2020-10-05,20.61,1391,34,1\n"10035",2020-10-17,20.6,974,35,1\n"10036",2020-10-27,21.41,509,36,1\n"10037",2020-10-09,20.34,855,37,1\n"10038",2020-10-09,21.62,466,38,1\n"10039",2020-10-14,21.36,698,39,1\n"10040",2020-10-18,20.83,640,40,1\n"10041",2020-10-27,20.34,986,41,1\n"10042",2020-10-22,20.81,722,42,1\n"10043",2020-10-29,20.94,726,43,1\n"10044",2020-10-15,21.65,435,44,1\n"10045",2020-10-08,19.86,779,45,1\n"10046",2020-10-20,21.4,310,46,1\n"10047",2020-10-19,20.77,790,47,1\n"10048",2020-10-22,20.28,308,48,1\n"10049",2020-10-19,20.91,588,49,1\n"10050",2020-10-31,21.38,358,50,1\n"10051",2020-10-18,20.74,469,51,1\n"10052",2020-10-06,21.81,1050,52,1\n"10053",2020-10-19,22.5,571,53,1\n"10054",2020-10-15,21.58,526,54,1\n"10055",2020-10-25,20.56,1287,55,1\n"10056",2020-10-31,21.82,393,56,1\n"10057",2020-10-13,21.17,319,57,1\n"10058",2020-10-18,20.64,621,58,1\n"10059",2020-10-15,21.07,453,59,1\n"10060",2020-10-02,20.91,231,60,1\n"10061",2020-10-26,21.49,534,61,1\n"10062",2020-10-08,21.01,289,62,1\n"10063",2020-10-15,21.41,537,63,1\n"10064",2020-10-08,20.98,667,64,1\n"10065",2020-10-21,21.43,485,65,1\n"10066",2020-10-04,21.43,499,66,1\n"10067",2020-10-30,20.32,527,67,1\n"10068",2020-10-21,20.51,655,68,1\n"10069",2020-10-19,20.17,468,69,1\n"10070",2020-10-22,18.98,684,70,1\n"10071",2020-10-21,21.74,371,71,1\n"10072",2020-10-20,21.53,487,72,1\n"10073",2020-10-03,20.55,599,73,1\n"10074",2020-10-13,20.42,1059,74,1\n"10075",2020-10-08,21.28,636,75,1\n"10076",2020-10-25,20.08,1445,76,1\n"10077",2020-10-29,20.71,383,77,1\n"10078",2020-10-29,21.14,1395,78,1\n"10079",2020-10-10,21.87,437,79,1\n"10080",2020-10-11,20.52,565,80,1\n"10081",2020-10-21,20.34,737,81,1\n"10082",2020-10-25,20.89,259,82,1\n"10083",2020-10-26,21.32,632,83,1\n"10084",2020-10-30,20.58,592,84,1\n"10085",2020-10-26,20.76,939,85,1\n"10086",2020-10-05,21.6,755,86,1\n"10087",2020-10-04,22.01,684,87,1\n"10088",2020-10-20,21.52,528,88,1\n"10089",2020-10-05,20.92,728,89,1\n"10090",2020-10-03,21.6,253,90,1\n"10091",2020-10-02,21.98,776,91,1\n"10092",2020-10-17,21.14,152,92,1\n"10093",2020-10-29,20.96,1051,93,1\n"10094",2020-10-29,20.67,284,94,1\n"10095",2020-10-17,21.17,354,95,1\n"10096",2020-10-11,21.26,515,96,1\n"10097",2020-10-09,20.12,546,97,1\n"10098",2020-10-11,21.22,569,98,1\n"10099",2020-10-31,20.86,465,99,1\n"10100",2020-10-21,21.09,129,100,1\n"10101",2020-10-15,20.41,433,1,2\n"10102",2020-10-28,21.15,274,2,2\n"10103",2020-10-12,20.28,443,3,2\n"10104",2020-10-28,20.42,255,4,2\n"10105",2020-10-04,20.88,164,5,2\n"10106",2020-10-20,21.78,513,6,2\n"10107",2020-10-08,22.44,534,7,2\n"10108",2020-10-26,20.81,364,8,2\n"10109",2020-10-19,22.29,892,9,2\n"10110",2020-10-12,19.97,713,10,2\n"10111",2020-10-19,19.47,597,11,2\n"10112",2020-10-28,21.18,543,12,2\n"10113",2020-10-08,19.63,1379,13,2\n"10114",2020-10-30,20.52,507,14,2\n"10115",2020-10-20,20.24,267,15,2\n"10116",2020-10-01,21.18,596,16,2\n"10117",2020-10-24,21.06,863,17,2\n"10118",2020-10-06,21.21,590,18,2\n"10119",2020-10-03,20.85,395,19,2\n"10120",2020-10-08,20.53,1427,20,2\n"10121",2020-10-02,22.58,287,21,2\n"10122",2020-10-21,20.84,257,22,2\n"10123",2020-10-25,21.69,803,23,2\n"10124",2020-10-10,20.45,666,24,2\n"10125",2020-10-17,22.31,571,25,2\n"10126",2020-10-27,20.96,751,26,2\n"10127",2020-10-12,20.79,522,27,2\n"10128",2020-10-21,21.74,566,28,2\n"10129",2020-10-02,20.98,403,29,2\n"10130",2020-10-15,21.41,229,30,2\n"10131",2020-10-15,21.37,472,31,2\n"10132",2020-10-19,21,1580,32,2\n"10133",2020-10-23,20.35,231,33,2\n"10134",2020-10-05,20.19,339,34,2\n"10135",2020-10-17,20.63,190,35,2\n"10136",2020-10-27,21.29,309,36,2\n"10137",2020-10-09,22.28,357,37,2\n"10138",2020-10-09,20.84,817,38,2\n"10139",2020-10-14,20.99,460,39,2\n"10140",2020-10-18,20.59,623,40,2\n"10141",2020-10-27,21.22,507,41,2\n"10142",2020-10-22,22.26,573,42,2\n"10143",2020-10-29,20.2,346,43,2\n"10144",2020-10-15,20.64,824,44,2\n"10145",2020-10-08,21.13,211,45,2\n"10146",2020-10-20,20.49,570,46,2\n"10147",2020-10-19,20.98,215,47,2\n"10148",2020-10-22,20.29,1868,48,2\n"10149",2020-10-19,19.66,526,49,2\n"10150",2020-10-31,20.97,332,50,2\n"10151",2020-10-18,21.12,403,51,2\n"10152",2020-10-06,21.95,566,52,2\n"10153",2020-10-19,20.66,290,53,2\n"10154",2020-10-15,21.17,995,54,2\n"10155",2020-10-25,20.92,1077,55,2\n"10156",2020-10-31,20.98,932,56,2\n"10157",2020-10-13,21.3,1132,57,2\n"10158",2020-10-18,20.61,595,58,2\n"10159",2020-10-15,21.11,947,59,2\n"10160",2020-10-02,20.28,377,60,2\n"10161",2020-10-26,21.31,467,61,2\n"10162",2020-10-08,21.67,963,62,2\n"10163",2020-10-15,19.64,706,63,2\n"10164",2020-10-08,20.87,586,64,2\n"10165",2020-10-21,21.22,429,65,2\n"10166",2020-10-04,22.02,299,66,2\n"10167",2020-10-30,20.32,483,67,2\n"10168",2020-10-21,22.26,423,68,2\n"10169",2020-10-19,21.31,253,69,2\n"10170",2020-10-22,20.95,788,70,2\n"10171",2020-10-21,20.91,220,71,2\n"10172",2020-10-20,22.28,1117,72,2\n"10173",2020-10-03,19.96,592,73,2\n"10174",2020-10-13,19.88,381,74,2\n"10175",2020-10-08,21.12,392,75,2\n"10176",2020-10-25,21.92,665,76,2\n"10177",2020-10-29,21.16,815,77,2\n"10178",2020-10-29,20.75,645,78,2\n"10179",2020-10-10,21.16,158,79,2\n"10180",2020-10-11,20.21,349,80,2\n"10181",2020-10-21,21.44,294,81,2\n"10182",2020-10-25,20.12,383,82,2\n"10183",2020-10-26,20.94,1706,83,2\n"10184",2020-10-30,20.46,377,84,2\n"10185",2020-10-26,21.15,925,85,2\n"10186",2020-10-05,20.52,305,86,2\n"10187",2020-10-04,21.26,360,87,2\n"10188",2020-10-20,21.06,499,88,2\n"10189",2020-10-05,21.85,579,89,2\n"10190",2020-10-03,20.06,592,90,2\n"10191",2020-10-02,19.96,747,91,2\n"10192",2020-10-17,21.22,248,92,2\n"10193",2020-10-29,21.33,349,93,2\n"10194",2020-10-29,21.51,526,94,2\n"10195",2020-10-17,20.92,752,95,2\n"10196",2020-10-11,20.74,526,96,2\n"10197",2020-10-09,21.63,578,97,2\n"10198",2020-10-11,20.74,582,98,2\n"10199",2020-10-31,21.31,480,99,2\n"10200",2020-10-21,20.99,363,100,2\n"10201",2020-10-15,22.34,326,1,3\n"10202",2020-10-28,21.09,403,2,3\n"10203",2020-10-12,20.94,555,3,3\n"10204",2020-10-28,21.54,247,4,3\n"10205",2020-10-04,21.23,387,5,3\n"10206",2020-10-20,21.48,679,6,3\n"10207",2020-10-08,21.34,471,7,3\n"10208",2020-10-26,21.83,428,8,3\n"10209",2020-10-19,19.7,692,9,3\n"10210",2020-10-12,21.19,1180,10,3\n"10211",2020-10-19,20.63,821,11,3\n"10212",2020-10-28,20.67,301,12,3\n"10213",2020-10-08,21.78,666,13,3\n"10214",2020-10-30,21.48,419,14,3\n"10215",2020-10-20,21.12,623,15,3\n"10216",2020-10-01,21.32,490,16,3\n"10217",2020-10-24,20.48,1675,17,3\n"10218",2020-10-06,22.03,814,18,3\n"10219",2020-10-03,20.79,576,19,3\n"10220",2020-10-08,21.47,240,20,3\n"10221",2020-10-02,21.52,719,21,3\n"10222",2020-10-21,20.9,650,22,3\n"10223",2020-10-25,21.38,562,23,3\n"10224",2020-10-10,21.37,431,24,3\n"10225",2020-10-17,20.42,1310,25,3\n"10226",2020-10-27,21.71,575,26,3\n"10227",2020-10-12,20.67,430,27,3\n"10228",2020-10-21,20.44,738,28,3\n"10229",2020-10-02,20.33,488,29,3\n"10230",2020-10-15,21.84,181,30,3\n"10231",2020-10-15,20.58,583,31,3\n"10232",2020-10-19,21.19,544,32,3\n"10233",2020-10-23,21.23,306,33,3\n"10234",2020-10-05,20.74,361,34,3\n"10235",2020-10-17,21.19,517,35,3\n"10236",2020-10-27,21.22,579,36,3\n"10237",2020-10-09,21.22,1569,37,3\n"10238",2020-10-09,20.67,415,38,3\n"10239",2020-10-14,20.87,454,39,3\n"10240",2020-10-18,21.32,1158,40,3\n"10241",2020-10-27,21.45,1891,41,3\n"10242",2020-10-22,22.53,486,42,3\n"10243",2020-10-29,20.54,192,43,3\n"10244",2020-10-15,22.15,442,44,3\n"10245",2020-10-08,20.92,960,45,3\n"10246",2020-10-20,21.56,640,46,3\n"10247",2020-10-19,19.24,323,47,3\n"10248",2020-10-22,21.32,334,48,3\n"10249",2020-10-19,21.25,440,49,3\n"10250",2020-10-31,21.84,546,50,3\n"10251",2020-10-18,21.46,749,51,3\n"10252",2020-10-06,21.35,501,52,3\n"10253",2020-10-19,20.52,522,53,3\n"10254",2020-10-15,20.69,680,54,3\n"10255",2020-10-25,20.79,604,55,3\n"10256",2020-10-31,21.11,630,56,3\n"10257",2020-10-13,22.05,285,57,3\n"10258",2020-10-18,20.31,1096,58,3\n"10259",2020-10-15,20.01,526,59,3\n"10260",2020-10-02,21.1,265,60,3\n"10261",2020-10-26,21,293,61,3\n"10262",2020-10-08,21.2,449,62,3\n"10263",2020-10-15,21.2,973,63,3\n"10264",2020-10-08,20.77,314,64,3\n"10265",2020-10-21,21.54,843,65,3\n"10266",2020-10-04,20.76,255,66,3\n"10267",2020-10-30,21.91,752,67,3\n"10268",2020-10-21,21.31,860,68,3\n"10269",2020-10-19,20.42,1277,69,3\n"10270",2020-10-22,21.71,420,70,3\n"10271",2020-10-21,20.53,411,71,3\n"10272",2020-10-20,20.88,534,72,3\n"10273",2020-10-03,20.66,480,73,3\n"10274",2020-10-13,20.52,346,74,3\n"10275",2020-10-08,22.08,788,75,3\n"10276",2020-10-25,20.57,354,76,3\n"10277",2020-10-29,21.11,309,77,3\n"10278",2020-10-29,20.38,756,78,3\n"10279",2020-10-10,21.1,495,79,3\n"10280",2020-10-11,21.28,307,80,3\n"10281",2020-10-21,19.31,566,81,3\n"10282",2020-10-25,20.89,617,82,3\n"10283",2020-10-26,21.55,857,83,3\n"10284",2020-10-30,20.51,492,84,3\n"10285",2020-10-26,20.56,747,85,3\n"10286",2020-10-05,20.55,628,86,3\n"10287",2020-10-04,21.27,1037,87,3\n"10288",2020-10-20,21.19,423,88,3\n"10289",2020-10-05,20.48,589,89,3\n"10290",2020-10-03,19.8,386,90,3\n"10291",2020-10-02,21.98,266,91,3\n"10292",2020-10-17,20.78,275,92,3\n"10293",2020-10-29,21.95,583,93,3\n"10294",2020-10-29,21.1,638,94,3\n"10295",2020-10-17,21.74,687,95,3\n"10296",2020-10-11,20.65,686,96,3\n"10297",2020-10-09,20.72,777,97,3\n"10298",2020-10-11,21.47,553,98,3\n"10299",2020-10-31,20.9,636,99,3\n"10300",2020-10-21,19.95,391,100,3\n"10301",2020-10-15,21.07,286,1,4\n"10302",2020-10-28,21.38,1118,2,4\n"10303",2020-10-12,20.45,825,3,4\n"10304",2020-10-28,21.46,225,4,4\n"10305",2020-10-04,20.91,1015,5,4\n"10306",2020-10-20,20.09,685,6,4\n"10307",2020-10-08,20.88,762,7,4\n"10308",2020-10-26,20.94,521,8,4\n"10309",2020-10-19,20.42,471,9,4\n"10310",2020-10-12,21.87,286,10,4\n"10311",2020-10-19,20.09,565,11,4\n"10312",2020-10-28,21.72,519,12,4\n"10313",2020-10-08,20.88,730,13,4\n"10314",2020-10-30,20.05,362,14,4\n"10315",2020-10-20,21.01,1098,15,4\n"10316",2020-10-01,20.53,581,16,4\n"10317",2020-10-24,20.26,413,17,4\n"10318",2020-10-06,20.73,384,18,4\n"10319",2020-10-03,19.92,560,19,4\n"10320",2020-10-08,20.27,1792,20,4\n"10321",2020-10-02,20.86,606,21,4\n"10322",2020-10-21,21.13,2360,22,4\n"10323",2020-10-25,22.53,544,23,4\n"10324",2020-10-10,20.81,466,24,4\n"10325",2020-10-17,22.06,493,25,4\n"10326",2020-10-27,21.07,288,26,4\n"10327",2020-10-12,20.46,415,27,4\n"10328",2020-10-21,20.46,376,28,4\n"10329",2020-10-02,21.7,907,29,4\n"10330",2020-10-15,21.44,288,30,4\n"10331",2020-10-15,20.89,420,31,4\n"10332",2020-10-19,20.94,428,32,4\n"10333",2020-10-23,20.8,422,33,4\n"10334",2020-10-05,20.83,404,34,4\n"10335",2020-10-17,21.52,289,35,4\n"10336",2020-10-27,21.36,483,36,4\n"10337",2020-10-09,20.66,370,37,4\n"10338",2020-10-09,20.84,720,38,4\n"10339",2020-10-14,20.82,645,39,4\n"10340",2020-10-18,21.56,802,40,4\n"10341",2020-10-27,20.63,649,41,4\n"10342",2020-10-22,20.19,513,42,4\n"10343",2020-10-29,20.99,621,43,4\n"10344",2020-10-15,21.3,1098,44,4\n"10345",2020-10-08,20.05,774,45,4\n"10346",2020-10-20,20.2,417,46,4\n"10347",2020-10-19,20.79,236,47,4\n"10348",2020-10-22,21.25,365,48,4\n"10349",2020-10-19,20.77,570,49,4\n"10350",2020-10-31,21.18,485,50,4\n"10351",2020-10-18,19.43,512,51,4\n"10352",2020-10-06,22.47,735,52,4\n"10353",2020-10-19,20.99,667,53,4\n"10354",2020-10-15,20.78,321,54,4\n"10355",2020-10-25,20.55,547,55,4\n"10356",2020-10-31,19.81,1045,56,4\n"10357",2020-10-13,20.27,278,57,4\n"10358",2020-10-18,21.19,624,58,4\n"10359",2020-10-15,20.38,379,59,4\n"10360",2020-10-02,21.84,492,60,4\n"10361",2020-10-26,21.25,632,61,4\n"10362",2020-10-08,21.06,382,62,4\n"10363",2020-10-15,19.74,831,63,4\n"10364",2020-10-08,20.22,821,64,4\n"10365",2020-10-21,21.93,333,65,4\n"10366",2020-10-04,20.54,623,66,4\n"10367",2020-10-30,20.11,375,67,4\n"10368",2020-10-21,20.85,575,68,4\n"10369",2020-10-19,21.24,559,69,4\n"10370",2020-10-22,20.08,476,70,4\n"10371",2020-10-21,20.4,208,71,4\n"10372",2020-10-20,21.45,636,72,4\n"10373",2020-10-03,20.44,466,73,4\n"10374",2020-10-13,20.34,576,74,4\n"10375",2020-10-08,20.36,202,75,4\n"10376",2020-10-25,21.21,344,76,4\n"10377",2020-10-29,21.41,260,77,4\n"10378",2020-10-29,21.75,339,78,4\n"10379",2020-10-10,20.55,633,79,4\n"10380",2020-10-11,21.37,181,80,4\n"10381",2020-10-21,20.21,519,81,4\n"10382",2020-10-25,21.37,431,82,4\n"10383",2020-10-26,19.82,686,83,4\n"10384",2020-10-30,22.13,495,84,4\n"10385",2020-10-26,20.62,449,85,4\n"10386",2020-10-05,21.65,614,86,4\n"10387",2020-10-04,21.06,278,87,4\n"10388",2020-10-20,21.24,753,88,4\n"10389",2020-10-05,20.46,1125,89,4\n"10390",2020-10-03,21.05,572,90,4\n"10391",2020-10-02,21.47,458,91,4\n"10392",2020-10-17,22.5,1002,92,4\n"10393",2020-10-29,20.9,492,93,4\n"10394",2020-10-29,21.05,739,94,4\n"10395",2020-10-17,21.04,653,95,4\n"10396",2020-10-11,21.07,1130,96,4\n"10397",2020-10-09,20.52,515,97,4\n"10398",2020-10-11,20.89,1312,98,4\n"10399",2020-10-31,20.86,421,99,4\n"10400",2020-10-21,20.71,562,100,4\n"10401",2020-10-15,20.19,487,1,5\n"10402",2020-10-28,20.31,375,2,5\n"10403",2020-10-12,21.59,385,3,5\n"10404",2020-10-28,20.23,881,4,5\n"10405",2020-10-04,20.79,674,5,5\n"10406",2020-10-20,21.65,299,6,5\n"10407",2020-10-08,21.37,1016,7,5\n"10408",2020-10-26,21.2,1000,8,5\n"10409",2020-10-19,21.25,278,9,5\n"10410",2020-10-12,20.64,727,10,5\n"10411",2020-10-19,20.78,468,11,5\n"10412",2020-10-28,21.02,717,12,5\n"10413",2020-10-08,20.99,679,13,5\n"10414",2020-10-30,21.08,301,14,5\n"10415",2020-10-20,21.65,726,15,5\n"10416",2020-10-01,20.43,437,16,5\n"10417",2020-10-24,21.24,457,17,5\n"10418",2020-10-06,21.11,352,18,5\n"10419",2020-10-03,20.93,499,19,5\n"10420",2020-10-08,20.79,466,20,5\n"10421",2020-10-02,20.85,290,21,5\n"10422",2020-10-21,21.89,609,22,5\n"10423",2020-10-25,23.06,437,23,5\n"10424",2020-10-10,20.23,548,24,5\n"10425",2020-10-17,20.9,259,25,5\n"10426",2020-10-27,21.05,254,26,5\n"10427",2020-10-12,21.33,345,27,5\n"10428",2020-10-21,21.81,646,28,5\n"10429",2020-10-02,20.25,749,29,5\n"10430",2020-10-15,21.14,1396,30,5\n"10431",2020-10-15,20.37,394,31,5\n"10432",2020-10-19,21.84,358,32,5\n"10433",2020-10-23,20.29,455,33,5\n"10434",2020-10-05,20.85,157,34,5\n"10435",2020-10-17,20.34,686,35,5\n"10436",2020-10-27,22.24,853,36,5\n"10437",2020-10-09,20.85,235,37,5\n"10438",2020-10-09,21.2,646,38,5\n"10439",2020-10-14,21,198,39,5\n"10440",2020-10-18,20.33,392,40,5\n"10441",2020-10-27,20.65,352,41,5\n"10442",2020-10-22,20.9,319,42,5\n"10443",2020-10-29,21.45,448,43,5\n"10444",2020-10-15,21.12,696,44,5\n"10445",2020-10-08,20.76,587,45,5\n"10446",2020-10-20,21.17,506,46,5\n"10447",2020-10-19,21.01,954,47,5\n"10448",2020-10-22,21.4,515,48,5\n"10449",2020-10-19,19.83,341,49,5\n"10450",2020-10-31,19.99,662,50,5\n"10451",2020-10-18,20.84,415,51,5\n"10452",2020-10-06,21.02,306,52,5\n"10453",2020-10-19,21.36,661,53,5\n"10454",2020-10-15,20.64,720,54,5\n"10455",2020-10-25,21.49,618,55,5\n"10456",2020-10-31,21.54,290,56,5\n"10457",2020-10-13,20.73,353,57,5\n"10458",2020-10-18,20.88,452,58,5\n"10459",2020-10-15,20.02,731,59,5\n"10460",2020-10-02,20.45,648,60,5\n"10461",2020-10-26,20.47,1251,61,5\n"10462",2020-10-08,20.01,730,62,5\n"10463",2020-10-15,20.37,610,63,5\n"10464",2020-10-08,21.4,728,64,5\n"10465",2020-10-21,22.25,323,65,5\n"10466",2020-10-04,20.11,407,66,5\n"10467",2020-10-30,20.66,584,67,5\n"10468",2020-10-21,19.89,445,68,5\n"10469",2020-10-19,20.73,333,69,5\n"10470",2020-10-22,20.38,722,70,5\n"10471",2020-10-21,20.89,276,71,5\n"10472",2020-10-20,20.42,275,72,5\n"10473",2020-10-03,20.62,555,73,5\n"10474",2020-10-13,21,1167,74,5\n"10475",2020-10-08,20.04,1401,75,5\n"10476",2020-10-25,20.44,378,76,5\n"10477",2020-10-29,21.46,399,77,5\n"10478",2020-10-29,21,460,78,5\n"10479",2020-10-10,20.8,282,79,5\n"10480",2020-10-11,21.74,487,80,5\n"10481",2020-10-21,20.46,488,81,5\n"10482",2020-10-25,20.15,586,82,5\n"10483",2020-10-26,21.81,753,83,5\n"10484",2020-10-30,21.09,548,84,5\n"10485",2020-10-26,21.15,576,85,5\n"10486",2020-10-05,21.12,427,86,5\n"10487",2020-10-04,20.81,402,87,5\n"10488",2020-10-20,20.26,341,88,5\n"10489",2020-10-05,20.69,879,89,5\n"10490",2020-10-03,20.48,675,90,5\n"10491",2020-10-02,20.91,741,91,5\n"10492",2020-10-17,21.08,661,92,5\n"10493",2020-10-29,21.66,413,93,5\n"10494",2020-10-29,20.62,287,94,5\n"10495",2020-10-17,20.47,490,95,5\n"10496",2020-10-11,20.51,697,96,5\n"10497",2020-10-09,20.74,92,97,5\n"10498",2020-10-11,21.94,1218,98,5\n"10499",2020-10-31,21.41,425,99,5\n"10500",2020-10-21,20.98,1067,100,5\n"10501",2020-10-15,21.48,286,1,6\n"10502",2020-10-28,21.88,636,2,6\n"10503",2020-10-12,20.86,421,3,6\n"10504",2020-10-28,22.05,406,4,6\n"10505",2020-10-04,20.08,294,5,6\n"10506",2020-10-20,21.01,490,6,6\n"10507",2020-10-08,20.42,638,7,6\n"10508",2020-10-26,20.76,262,8,6\n"10509",2020-10-19,20.98,452,9,6\n"10510",2020-10-12,20.32,379,10,6\n"10511",2020-10-19,21.31,574,11,6\n"10512",2020-10-28,20.67,316,12,6\n"10513",2020-10-08,21.07,381,13,6\n"10514",2020-10-30,21.46,487,14,6\n"10515",2020-10-20,21.03,509,15,6\n"10516",2020-10-01,20.95,729,16,6\n"10517",2020-10-24,20.84,1035,17,6\n"10518",2020-10-06,20.33,494,18,6\n"10519",2020-10-03,20.88,836,19,6\n"10520",2020-10-08,20.18,267,20,6\n"10521",2020-10-02,21.53,919,21,6\n"10522",2020-10-21,20.32,694,22,6\n"10523",2020-10-25,21.25,554,23,6\n"10524",2020-10-10,20.34,720,24,6\n"10525",2020-10-17,21.86,415,25,6\n"10526",2020-10-27,20.31,751,26,6\n"10527",2020-10-12,20.81,333,27,6\n"10528",2020-10-21,22.51,221,28,6\n"10529",2020-10-02,19.38,291,29,6\n"10530",2020-10-15,22.1,394,30,6\n"10531",2020-10-15,21.17,532,31,6\n"10532",2020-10-19,20.95,915,32,6\n"10533",2020-10-23,21.33,230,33,6\n"10534",2020-10-05,21.52,542,34,6\n"10535",2020-10-17,20.7,346,35,6\n"10536",2020-10-27,20.6,268,36,6\n"10537",2020-10-09,20.46,402,37,6\n"10538",2020-10-09,21.31,2309,38,6\n"10539",2020-10-14,21.93,505,39,6\n"10540",2020-10-18,19.28,435,40,6\n"10541",2020-10-27,21.19,679,41,6\n"10542",2020-10-22,22.52,1265,42,6\n"10543",2020-10-29,21.03,464,43,6\n"10544",2020-10-15,21.66,332,44,6\n"10545",2020-10-08,21.33,563,45,6\n"10546",2020-10-20,20.93,366,46,6\n"10547",2020-10-19,20.63,442,47,6\n"10548",2020-10-22,20.89,710,48,6\n"10549",2020-10-19,21.47,530,49,6\n"10550",2020-10-31,21.28,825,50,6\n"10551",2020-10-18,20.4,818,51,6\n"10552",2020-10-06,21.48,400,52,6\n"10553",2020-10-19,20.95,685,53,6\n"10554",2020-10-15,19.3,625,54,6\n"10555",2020-10-25,20.78,418,55,6\n"10556",2020-10-31,20.65,440,56,6\n"10557",2020-10-13,20.71,506,57,6\n"10558",2020-10-18,20.58,185,58,6\n"10559",2020-10-15,21.75,374,59,6\n"10560",2020-10-02,21.66,500,60,6\n"10561",2020-10-26,21.39,159,61,6\n"10562",2020-10-08,21.01,504,62,6\n"10563",2020-10-15,21.12,388,63,6\n"10564",2020-10-08,20.68,688,64,6\n"10565",2020-10-21,22.09,496,65,6\n"10566",2020-10-04,21.24,718,66,6\n"10567",2020-10-30,20.77,720,67,6\n"10568",2020-10-21,20.76,481,68,6\n"10569",2020-10-19,21.18,590,69,6\n"10570",2020-10-22,22.69,864,70,6\n"10571",2020-10-21,20.04,530,71,6\n"10572",2020-10-20,20.15,603,72,6\n"10573",2020-10-03,21.19,796,73,6\n"10574",2020-10-13,21.65,339,74,6\n"10575",2020-10-08,20.49,583,75,6\n"10576",2020-10-25,20.47,588,76,6\n"10577",2020-10-29,20.99,339,77,6\n"10578",2020-10-29,21.6,395,78,6\n"10579",2020-10-10,20.42,366,79,6\n"10580",2020-10-11,20.75,816,80,6\n"10581",2020-10-21,21.21,361,81,6\n"10582",2020-10-25,21.56,422,82,6\n"10583",2020-10-26,20.64,691,83,6\n"10584",2020-10-30,21.65,605,84,6\n"10585",2020-10-26,21.45,543,85,6\n"10586",2020-10-05,20.88,242,86,6\n"10587",2020-10-04,21.95,362,87,6\n"10588",2020-10-20,21.11,530,88,6\n"10589",2020-10-05,21,719,89,6\n"10590",2020-10-03,21.03,375,90,6\n"10591",2020-10-02,21.18,605,91,6\n"10592",2020-10-17,20.49,248,92,6\n"10593",2020-10-29,20.88,463,93,6\n"10594",2020-10-29,21.59,1737,94,6\n"10595",2020-10-17,20.82,225,95,6\n"10596",2020-10-11,20.82,454,96,6\n"10597",2020-10-09,20.81,435,97,6\n"10598",2020-10-11,20.6,711,98,6\n"10599",2020-10-31,20.71,384,99,6\n"10600",2020-10-21,20.19,359,100,6\n"10601",2020-10-15,20.48,557,1,7\n"10602",2020-10-28,21.86,1473,2,7\n"10603",2020-10-12,22,307,3,7\n"10604",2020-10-28,21.06,457,4,7\n"10605",2020-10-04,20.69,442,5,7\n"10606",2020-10-20,20.95,1252,6,7\n"10607",2020-10-08,21.53,813,7,7\n"10608",2020-10-26,19.58,288,8,7\n"10609",2020-10-19,20.09,340,9,7\n"10610",2020-10-12,21.9,171,10,7\n"10611",2020-10-19,20.71,391,11,7\n"10612",2020-10-28,19.36,340,12,7\n"10613",2020-10-08,20.71,379,13,7\n"10614",2020-10-30,21.14,405,14,7\n"10615",2020-10-20,20.82,479,15,7\n"10616",2020-10-01,20.92,430,16,7\n"10617",2020-10-24,21.16,380,17,7\n"10618",2020-10-06,21.51,395,18,7\n"10619",2020-10-03,21.26,321,19,7\n"10620",2020-10-08,20.41,262,20,7\n"10621",2020-10-02,21.37,272,21,7\n"10622",2020-10-21,21.33,351,22,7\n"10623",2020-10-25,21.56,777,23,7\n"10624",2020-10-10,21.43,344,24,7\n"10625",2020-10-17,20.79,491,25,7\n"10626",2020-10-27,20.98,319,26,7\n"10627",2020-10-12,21.68,738,27,7\n"10628",2020-10-21,21.63,489,28,7\n"10629",2020-10-02,20.98,299,29,7\n"10630",2020-10-15,21.66,729,30,7\n"10631",2020-10-15,21.98,306,31,7\n"10632",2020-10-19,21.66,849,32,7\n"10633",2020-10-23,21.47,301,33,7\n"10634",2020-10-05,20.35,332,34,7\n"10635",2020-10-17,20.7,173,35,7\n"10636",2020-10-27,20.68,336,36,7\n"10637",2020-10-09,21.38,688,37,7\n"10638",2020-10-09,20.22,616,38,7\n"10639",2020-10-14,20.65,325,39,7\n"10640",2020-10-18,20.65,331,40,7\n"10641",2020-10-27,20.69,524,41,7\n"10642",2020-10-22,20.84,691,42,7\n"10643",2020-10-29,21.59,421,43,7\n"10644",2020-10-15,20.36,314,44,7\n"10645",2020-10-08,21.37,289,45,7\n"10646",2020-10-20,21.97,454,46,7\n"10647",2020-10-19,20.84,869,47,7\n"10648",2020-10-22,21.47,998,48,7\n"10649",2020-10-19,21.19,648,49,7\n"10650",2020-10-31,20.51,682,50,7\n"10651",2020-10-18,20.95,304,51,7\n"10652",2020-10-06,21.28,809,52,7\n"10653",2020-10-19,20.13,211,53,7\n"10654",2020-10-15,19.94,439,54,7\n"10655",2020-10-25,20.75,421,55,7\n"10656",2020-10-31,21.2,711,56,7\n"10657",2020-10-13,20.72,797,57,7\n"10658",2020-10-18,20.97,573,58,7\n"10659",2020-10-15,20.99,228,59,7\n"10660",2020-10-02,20.72,908,60,7\n"10661",2020-10-26,20.92,341,61,7\n"10662",2020-10-08,20.73,164,62,7\n"10663",2020-10-15,20.55,395,63,7\n"10664",2020-10-08,20.98,547,64,7\n"10665",2020-10-21,20.91,558,65,7\n"10666",2020-10-04,20.68,917,66,7\n"10667",2020-10-30,20.25,430,67,7\n"10668",2020-10-21,20.86,365,68,7\n"10669",2020-10-19,20.16,453,69,7\n"10670",2020-10-22,21.24,305,70,7\n"10671",2020-10-21,22.32,970,71,7\n"10672",2020-10-20,19.92,627,72,7\n"10673",2020-10-03,21.58,975,73,7\n"10674",2020-10-13,21.44,327,74,7\n"10675",2020-10-08,20.41,388,75,7\n"10676",2020-10-25,20.47,1045,76,7\n"10677",2020-10-29,21,940,77,7\n"10678",2020-10-29,20.51,209,78,7\n"10679",2020-10-10,20.38,219,79,7\n"10680",2020-10-11,20.63,652,80,7\n"10681",2020-10-21,20.78,402,81,7\n"10682",2020-10-25,22.27,373,82,7\n"10683",2020-10-26,20.98,1575,83,7\n"10684",2020-10-30,20.6,336,84,7\n"10685",2020-10-26,20.79,400,85,7\n"10686",2020-10-05,20.45,554,86,7\n"10687",2020-10-04,21.7,327,87,7\n"10688",2020-10-20,22.09,895,88,7\n"10689",2020-10-05,20.74,539,89,7\n"10690",2020-10-03,20.98,1075,90,7\n"10691",2020-10-02,21.34,284,91,7\n"10692",2020-10-17,21.63,567,92,7\n"10693",2020-10-29,21.32,624,93,7\n"10694",2020-10-29,20.76,302,94,7\n"10695",2020-10-17,20.51,561,95,7\n"10696",2020-10-11,21.57,1585,96,7\n"10697",2020-10-09,20.98,564,97,7\n"10698",2020-10-11,20.95,595,98,7\n"10699",2020-10-31,21.26,269,99,7\n"10700",2020-10-21,20.82,747,100,7\n"10701",2020-10-15,22.33,267,1,8\n"10702",2020-10-28,21.8,340,2,8\n"10703",2020-10-12,20.43,187,3,8\n"10704",2020-10-28,21.1,445,4,8\n"10705",2020-10-04,21,461,5,8\n"10706",2020-10-20,21.2,949,6,8\n"10707",2020-10-08,20.25,264,7,8\n"10708",2020-10-26,21.23,278,8,8\n"10709",2020-10-19,20.8,865,9,8\n"10710",2020-10-12,21.37,752,10,8\n"10711",2020-10-19,21.3,442,11,8\n"10712",2020-10-28,22.45,502,12,8\n"10713",2020-10-08,22.17,553,13,8\n"10714",2020-10-30,21.48,511,14,8\n"10715",2020-10-20,21.1,268,15,8\n"10716",2020-10-01,22.03,606,16,8\n"10717",2020-10-24,19.02,1042,17,8\n"10718",2020-10-06,21.52,307,18,8\n"10719",2020-10-03,21.66,565,19,8\n"10720",2020-10-08,21.41,341,20,8\n"10721",2020-10-02,20.44,441,21,8\n"10722",2020-10-21,20.29,634,22,8\n"10723",2020-10-25,21.21,527,23,8\n"10724",2020-10-10,21.63,565,24,8\n"10725",2020-10-17,21.38,416,25,8\n"10726",2020-10-27,20.18,511,26,8\n"10727",2020-10-12,21.23,196,27,8\n"10728",2020-10-21,21.78,435,28,8\n"10729",2020-10-02,20.68,525,29,8\n"10730",2020-10-15,20.86,940,30,8\n"10731",2020-10-15,19.91,410,31,8\n"10732",2020-10-19,21.32,631,32,8\n"10733",2020-10-23,22.47,1091,33,8\n"10734",2020-10-05,20.2,793,34,8\n"10735",2020-10-17,20.66,388,35,8\n"10736",2020-10-27,20.86,703,36,8\n"10737",2020-10-09,21.5,409,37,8\n"10738",2020-10-09,20.06,344,38,8\n"10739",2020-10-14,20.3,427,39,8\n"10740",2020-10-18,20.78,461,40,8\n"10741",2020-10-27,20.65,288,41,8\n"10742",2020-10-22,21.54,586,42,8\n"10743",2020-10-29,20.8,408,43,8\n"10744",2020-10-15,21.2,338,44,8\n"10745",2020-10-08,20,407,45,8\n"10746",2020-10-20,21.17,424,46,8\n"10747",2020-10-19,21.33,416,47,8\n"10748",2020-10-22,21.24,1393,48,8\n"10749",2020-10-19,20.63,554,49,8\n"10750",2020-10-31,21.71,278,50,8\n"10751",2020-10-18,20.81,424,51,8\n"10752",2020-10-06,21.54,660,52,8\n"10753",2020-10-19,20.57,725,53,8\n"10754",2020-10-15,20.97,303,54,8\n"10755",2020-10-25,21.29,416,55,8\n"10756",2020-10-31,20.23,367,56,8\n"10757",2020-10-13,20.63,394,57,8\n"10758",2020-10-18,21.11,504,58,8\n"10759",2020-10-15,21.09,598,59,8\n"10760",2020-10-02,21.38,979,60,8\n"10761",2020-10-26,20.37,369,61,8\n"10762",2020-10-08,21.39,1429,62,8\n"10763",2020-10-15,19.83,524,63,8\n"10764",2020-10-08,21.75,267,64,8\n"10765",2020-10-21,21.54,273,65,8\n"10766",2020-10-04,21.06,617,66,8\n"10767",2020-10-30,20.74,361,67,8\n"10768",2020-10-21,21.77,359,68,8\n"10769",2020-10-19,20.28,244,69,8\n"10770",2020-10-22,21.86,591,70,8\n"10771",2020-10-21,21.35,592,71,8\n"10772",2020-10-20,21.08,1504,72,8\n"10773",2020-10-03,19.98,707,73,8\n"10774",2020-10-13,20.66,413,74,8\n"10775",2020-10-08,19.85,424,75,8\n"10776",2020-10-25,21.84,500,76,8\n"10777",2020-10-29,21.15,721,77,8\n"10778",2020-10-29,21.05,513,78,8\n"10779",2020-10-10,22,947,79,8\n"10780",2020-10-11,20.85,437,80,8\n"10781",2020-10-21,20.72,616,81,8\n"10782",2020-10-25,20.94,149,82,8\n"10783",2020-10-26,20.84,380,83,8\n"10784",2020-10-30,20.12,389,84,8\n"10785",2020-10-26,21.57,792,85,8\n"10786",2020-10-05,20.92,299,86,8\n"10787",2020-10-04,20.68,550,87,8\n"10788",2020-10-20,20.17,278,88,8\n"10789",2020-10-05,21.4,1407,89,8\n"10790",2020-10-03,21.25,912,90,8\n"10791",2020-10-02,20.9,343,91,8\n"10792",2020-10-17,20.07,391,92,8\n"10793",2020-10-29,21.09,795,93,8\n"10794",2020-10-29,20.75,541,94,8\n"10795",2020-10-17,21.22,1574,95,8\n"10796",2020-10-11,21.61,725,96,8\n"10797",2020-10-09,20.9,977,97,8\n"10798",2020-10-11,21.3,758,98,8\n"10799",2020-10-31,20.2,224,99,8\n"10800",2020-10-21,22.17,635,100,8\n"10801",2020-10-15,20.32,783,1,9\n"10802",2020-10-28,20.65,909,2,9\n"10803",2020-10-12,20.4,184,3,9\n"10804",2020-10-28,21.03,561,4,9\n"10805",2020-10-04,20.13,462,5,9\n"10806",2020-10-20,22.03,413,6,9\n"10807",2020-10-08,21.44,709,7,9\n"10808",2020-10-26,20.06,339,8,9\n"10809",2020-10-19,21.77,654,9,9\n"10810",2020-10-12,20.82,792,10,9\n"10811",2020-10-19,20.94,544,11,9\n"10812",2020-10-28,21.24,1004,12,9\n"10813",2020-10-08,20.95,349,13,9\n"10814",2020-10-30,21,180,14,9\n"10815",2020-10-20,20.27,360,15,9\n"10816",2020-10-01,21.25,735,16,9\n"10817",2020-10-24,21.4,401,17,9\n"10818",2020-10-06,20.37,266,18,9\n"10819",2020-10-03,20.81,383,19,9\n"10820",2020-10-08,21.47,579,20,9\n"10821",2020-10-02,21.1,366,21,9\n"10822",2020-10-21,21.53,571,22,9\n"10823",2020-10-25,20.92,1273,23,9\n"10824",2020-10-10,21.5,488,24,9\n"10825",2020-10-17,21.11,772,25,9\n"10826",2020-10-27,22.23,778,26,9\n"10827",2020-10-12,20.53,1974,27,9\n"10828",2020-10-21,21.47,188,28,9\n"10829",2020-10-02,21.82,214,29,9\n"10830",2020-10-15,20.11,324,30,9\n"10831",2020-10-15,20.62,189,31,9\n"10832",2020-10-19,21.1,468,32,9\n"10833",2020-10-23,20.06,504,33,9\n"10834",2020-10-05,21.71,442,34,9\n"10835",2020-10-17,20.9,215,35,9\n"10836",2020-10-27,21.18,524,36,9\n"10837",2020-10-09,20.6,244,37,9\n"10838",2020-10-09,21.13,987,38,9\n"10839",2020-10-14,20.18,2111,39,9\n"10840",2020-10-18,20.05,500,40,9\n"10841",2020-10-27,21.42,1326,41,9\n"10842",2020-10-22,21.62,212,42,9\n"10843",2020-10-29,20.92,453,43,9\n"10844",2020-10-15,20.8,453,44,9\n"10845",2020-10-08,20.26,283,45,9\n"10846",2020-10-20,20.72,608,46,9\n"10847",2020-10-19,20.36,178,47,9\n"10848",2020-10-22,21.39,456,48,9\n"10849",2020-10-19,20.5,518,49,9\n"10850",2020-10-31,22.5,683,50,9\n"10851",2020-10-18,21.23,136,51,9\n"10852",2020-10-06,19.75,481,52,9\n"10853",2020-10-19,19.86,1284,53,9\n"10854",2020-10-15,20.76,825,54,9\n"10855",2020-10-25,22.08,414,55,9\n"10856",2020-10-31,21.88,326,56,9\n"10857",2020-10-13,20.79,240,57,9\n"10858",2020-10-18,21.38,653,58,9\n"10859",2020-10-15,20.34,694,59,9\n"10860",2020-10-02,21.71,665,60,9\n"10861",2020-10-26,21.69,565,61,9\n"10862",2020-10-08,21.48,640,62,9\n"10863",2020-10-15,20.47,439,63,9\n"10864",2020-10-08,21.04,742,64,9\n"10865",2020-10-21,21.34,601,65,9\n"10866",2020-10-04,22.22,535,66,9\n"10867",2020-10-30,20.79,375,67,9\n"10868",2020-10-21,21,334,68,9\n"10869",2020-10-19,21.28,274,69,9\n"10870",2020-10-22,19.64,394,70,9\n"10871",2020-10-21,20.93,604,71,9\n"10872",2020-10-20,21.51,697,72,9\n"10873",2020-10-03,22.23,182,73,9\n"10874",2020-10-13,21.31,580,74,9\n"10875",2020-10-08,20.8,492,75,9\n"10876",2020-10-25,20.51,388,76,9\n"10877",2020-10-29,21.01,352,77,9\n"10878",2020-10-29,20.88,903,78,9\n"10879",2020-10-10,21.21,276,79,9\n"10880",2020-10-11,21.02,877,80,9\n"10881",2020-10-21,20.55,253,81,9\n"10882",2020-10-25,20.42,374,82,9\n"10883",2020-10-26,20.48,323,83,9\n"10884",2020-10-30,21.79,330,84,9\n"10885",2020-10-26,21.54,2863,85,9\n"10886",2020-10-05,22.04,483,86,9\n"10887",2020-10-04,22.07,210,87,9\n"10888",2020-10-20,19.97,518,88,9\n"10889",2020-10-05,20.62,649,89,9\n"10890",2020-10-03,20.35,638,90,9\n"10891",2020-10-02,21.4,141,91,9\n"10892",2020-10-17,21.63,518,92,9\n"10893",2020-10-29,20.84,381,93,9\n"10894",2020-10-29,20.22,440,94,9\n"10895",2020-10-17,20.54,859,95,9\n"10896",2020-10-11,21.21,579,96,9\n"10897",2020-10-09,21.21,741,97,9\n"10898",2020-10-11,22.08,465,98,9\n"10899",2020-10-31,20.2,527,99,9\n"10900",2020-10-21,20.76,341,100,9\n"10901",2020-10-15,21.13,631,1,10\n"10902",2020-10-28,22.1,1438,2,10\n"10903",2020-10-12,20.53,750,3,10\n"10904",2020-10-28,21.54,179,4,10\n"10905",2020-10-04,21.69,708,5,10\n"10906",2020-10-20,21.46,304,6,10\n"10907",2020-10-08,19.98,338,7,10\n"10908",2020-10-26,21.37,642,8,10\n"10909",2020-10-19,21.02,739,9,10\n"10910",2020-10-12,22.39,643,10,10\n"10911",2020-10-19,21.7,415,11,10\n"10912",2020-10-28,21.58,433,12,10\n"10913",2020-10-08,20.75,588,13,10\n"10914",2020-10-30,21.27,1169,14,10\n"10915",2020-10-20,21.17,515,15,10\n"10916",2020-10-01,20.15,627,16,10\n"10917",2020-10-24,21.37,1158,17,10\n"10918",2020-10-06,20.82,647,18,10\n"10919",2020-10-03,20.77,877,19,10\n"10920",2020-10-08,20.01,270,20,10\n"10921",2020-10-02,21.1,506,21,10\n"10922",2020-10-21,21.08,254,22,10\n"10923",2020-10-25,21.83,455,23,10\n"10924",2020-10-10,21.03,750,24,10\n"10925",2020-10-17,20.89,2050,25,10\n"10926",2020-10-27,20.86,324,26,10\n"10927",2020-10-12,21.34,380,27,10\n"10928",2020-10-21,20.86,239,28,10\n"10929",2020-10-02,21.27,397,29,10\n"10930",2020-10-15,20.82,623,30,10\n"10931",2020-10-15,20.35,335,31,10\n"10932",2020-10-19,20.59,893,32,10\n"10933",2020-10-23,21.33,799,33,10\n"10934",2020-10-05,19.87,324,34,10\n"10935",2020-10-17,21.34,805,35,10\n"10936",2020-10-27,20.32,1549,36,10\n"10937",2020-10-09,21.01,1147,37,10\n"10938",2020-10-09,21.74,928,38,10\n"10939",2020-10-14,20.67,787,39,10\n"10940",2020-10-18,20.87,356,40,10\n"10941",2020-10-27,21.18,363,41,10\n"10942",2020-10-22,21.18,841,42,10\n"10943",2020-10-29,21.07,583,43,10\n"10944",2020-10-15,20.58,856,44,10\n"10945",2020-10-08,20.98,655,45,10\n"10946",2020-10-20,21.16,882,46,10\n"10947",2020-10-19,21.12,551,47,10\n"10948",2020-10-22,20.55,276,48,10\n"10949",2020-10-19,20.36,848,49,10\n"10950",2020-10-31,20.79,881,50,10\n"10951",2020-10-18,22.07,450,51,10\n"10952",2020-10-06,21.13,302,52,10\n"10953",2020-10-19,21.07,225,53,10\n"10954",2020-10-15,20.8,1005,54,10\n"10955",2020-10-25,20.5,373,55,10\n"10956",2020-10-31,20.81,266,56,10\n"10957",2020-10-13,20.55,507,57,10\n"10958",2020-10-18,21.47,796,58,10\n"10959",2020-10-15,20.71,335,59,10\n"10960",2020-10-02,21,667,60,10\n"10961",2020-10-26,20.7,318,61,10\n"10962",2020-10-08,21.47,651,62,10\n"10963",2020-10-15,21.12,632,63,10\n"10964",2020-10-08,20.02,755,64,10\n"10965",2020-10-21,21.1,966,65,10\n"10966",2020-10-04,20.04,250,66,10\n"10967",2020-10-30,20.29,794,67,10\n"10968",2020-10-21,21.72,441,68,10\n"10969",2020-10-19,21.2,683,69,10\n"10970",2020-10-22,20.66,244,70,10\n"10971",2020-10-21,21.19,529,71,10\n"10972",2020-10-20,21.77,400,72,10\n"10973",2020-10-03,21.24,845,73,10\n"10974",2020-10-13,20.42,385,74,10\n"10975",2020-10-08,21.73,365,75,10\n"10976",2020-10-25,22.71,539,76,10\n"10977",2020-10-29,20.82,692,77,10\n"10978",2020-10-29,20.69,2261,78,10\n"10979",2020-10-10,21.11,369,79,10\n"10980",2020-10-11,21.61,284,80,10\n"10981",2020-10-21,20.87,665,81,10\n"10982",2020-10-25,20.75,405,82,10\n"10983",2020-10-26,20.8,366,83,10\n"10984",2020-10-30,20.49,798,84,10\n"10985",2020-10-26,21.5,513,85,10\n"10986",2020-10-05,20.87,362,86,10\n"10987",2020-10-04,20.17,1420,87,10\n"10988",2020-10-20,21.61,308,88,10\n"10989",2020-10-05,21.84,497,89,10\n"10990",2020-10-03,20.83,1236,90,10\n"10991",2020-10-02,20.36,309,91,10\n"10992",2020-10-17,20.34,296,92,10\n"10993",2020-10-29,21.49,613,93,10\n"10994",2020-10-29,20.5,474,94,10\n"10995",2020-10-17,20.67,268,95,10\n"10996",2020-10-11,21.21,528,96,10\n"10997",2020-10-09,21.01,419,97,10\n"10998",2020-10-11,21.59,304,98,10\n"10999",2020-10-31,20.4,590,99,10\n"11000",2020-10-21,20.24,510,100,10\n"11001",2020-11-21,20.43,878,1,1\n"11002",2020-11-29,19.58,333,2,1\n"11003",2020-11-08,19.9,455,3,1\n"11004",2020-11-19,19.7,225,4,1\n"11005",2020-11-09,19.94,224,5,1\n"11006",2020-11-20,20.46,596,6,1\n"11007",2020-11-11,21.17,712,7,1\n"11008",2020-11-05,19.85,409,8,1\n"11009",2020-11-24,19.89,1214,9,1\n"11010",2020-11-04,20.33,171,10,1\n"11011",2020-11-21,18.52,505,11,1\n"11012",2020-11-30,20.76,533,12,1\n"11013",2020-11-20,20.85,657,13,1\n"11014",2020-11-11,21,177,14,1\n"11015",2020-11-27,21.2,275,15,1\n"11016",2020-11-20,21.49,341,16,1\n"11017",2020-11-15,20.91,316,17,1\n"11018",2020-11-11,20.7,600,18,1\n"11019",2020-11-13,22.07,279,19,1\n"11020",2020-11-19,21.27,540,20,1\n"11021",2020-11-15,20.27,414,21,1\n"11022",2020-11-21,21.09,468,22,1\n"11023",2020-11-13,21.95,1163,23,1\n"11024",2020-11-11,19.91,476,24,1\n"11025",2020-11-20,20.51,398,25,1\n"11026",2020-11-11,20.52,846,26,1\n"11027",2020-11-25,20.65,602,27,1\n"11028",2020-11-25,19.88,412,28,1\n"11029",2020-11-06,20.65,479,29,1\n"11030",2020-11-30,19.74,492,30,1\n"11031",2020-11-07,19.82,285,31,1\n"11032",2020-11-15,21.09,306,32,1\n"11033",2020-11-11,20.97,763,33,1\n"11034",2020-11-28,21.3,334,34,1\n"11035",2020-11-06,20.3,296,35,1\n"11036",2020-11-12,20.05,353,36,1\n"11037",2020-11-09,20.62,356,37,1\n"11038",2020-11-04,20.24,477,38,1\n"11039",2020-11-24,20.44,903,39,1\n"11040",2020-11-14,22.18,429,40,1\n"11041",2020-11-20,20.8,1143,41,1\n"11042",2020-11-21,20.59,757,42,1\n"11043",2020-11-22,21.11,529,43,1\n"11044",2020-11-17,20.94,609,44,1\n"11045",2020-11-16,21.59,737,45,1\n"11046",2020-11-01,19.62,204,46,1\n"11047",2020-11-03,20.85,312,47,1\n"11048",2020-11-24,20.72,519,48,1\n"11049",2020-11-26,20.06,748,49,1\n"11050",2020-11-09,20.65,162,50,1\n"11051",2020-11-26,20.95,216,51,1\n"11052",2020-11-30,20.96,361,52,1\n"11053",2020-11-06,20.1,386,53,1\n"11054",2020-11-03,20.56,506,54,1\n"11055",2020-11-08,20.18,191,55,1\n"11056",2020-11-08,19.49,433,56,1\n"11057",2020-11-17,20.86,536,57,1\n"11058",2020-11-24,20.24,826,58,1\n"11059",2020-11-18,20.02,303,59,1\n"11060",2020-11-01,20.13,468,60,1\n"11061",2020-11-08,20.76,182,61,1\n"11062",2020-11-22,20.73,765,62,1\n"11063",2020-11-13,21.24,412,63,1\n"11064",2020-11-26,20.69,464,64,1\n"11065",2020-11-21,20.76,481,65,1\n"11066",2020-11-27,20.82,740,66,1\n"11067",2020-11-10,21.45,243,67,1\n"11068",2020-11-03,20.51,376,68,1\n"11069",2020-11-04,20.66,286,69,1\n"11070",2020-11-16,20.07,407,70,1\n"11071",2020-11-18,20.98,365,71,1\n"11072",2020-11-01,20.95,394,72,1\n"11073",2020-11-15,20.66,499,73,1\n"11074",2020-11-17,20.51,685,74,1\n"11075",2020-11-05,22.09,305,75,1\n"11076",2020-11-08,19.98,1050,76,1\n"11077",2020-11-27,22.25,188,77,1\n"11078",2020-11-15,20.99,536,78,1\n"11079",2020-11-01,20.72,713,79,1\n"11080",2020-11-25,20.31,842,80,1\n"11081",2020-11-13,21.4,166,81,1\n"11082",2020-11-06,20.21,633,82,1\n"11083",2020-11-27,21.81,265,83,1\n"11084",2020-11-30,20.41,464,84,1\n"11085",2020-11-01,19.89,513,85,1\n"11086",2020-11-12,21.9,601,86,1\n"11087",2020-11-05,21.75,388,87,1\n"11088",2020-11-02,20.75,217,88,1\n"11089",2020-11-06,20.28,211,89,1\n"11090",2020-11-07,21.03,494,90,1\n"11091",2020-11-07,21.3,864,91,1\n"11092",2020-11-22,20.34,434,92,1\n"11093",2020-11-19,21.48,417,93,1\n"11094",2020-11-03,20.69,204,94,1\n"11095",2020-11-08,20.77,319,95,1\n"11096",2020-11-30,19.68,637,96,1\n"11097",2020-11-02,20.79,599,97,1\n"11098",2020-11-22,19.89,484,98,1\n"11099",2020-11-21,20.55,536,99,1\n"11100",2020-11-05,21.74,383,100,1\n"11101",2020-11-21,20.33,201,1,2\n"11102",2020-11-29,21.12,355,2,2\n"11103",2020-11-08,21.57,375,3,2\n"11104",2020-11-19,20.49,463,4,2\n"11105",2020-11-09,20.26,1053,5,2\n"11106",2020-11-20,20.3,413,6,2\n"11107",2020-11-11,21.17,1760,7,2\n"11108",2020-11-05,20.92,277,8,2\n"11109",2020-11-24,20.95,637,9,2\n"11110",2020-11-04,21.27,800,10,2\n"11111",2020-11-21,21.34,612,11,2\n"11112",2020-11-30,19.99,446,12,2\n"11113",2020-11-20,20.46,636,13,2\n"11114",2020-11-11,21.02,370,14,2\n"11115",2020-11-27,21.64,824,15,2\n"11116",2020-11-20,20.7,865,16,2\n"11117",2020-11-15,19.79,664,17,2\n"11118",2020-11-11,20.41,491,18,2\n"11119",2020-11-13,20.97,528,19,2\n"11120",2020-11-19,20.15,619,20,2\n"11121",2020-11-15,21.98,354,21,2\n"11122",2020-11-21,21.39,599,22,2\n"11123",2020-11-13,21.61,1617,23,2\n"11124",2020-11-11,21.64,259,24,2\n"11125",2020-11-20,20.5,380,25,2\n"11126",2020-11-11,21.51,504,26,2\n"11127",2020-11-25,19.98,195,27,2\n"11128",2020-11-25,19.36,314,28,2\n"11129",2020-11-06,21.4,718,29,2\n"11130",2020-11-30,21.46,1838,30,2\n"11131",2020-11-07,20.78,266,31,2\n"11132",2020-11-15,19.97,509,32,2\n"11133",2020-11-11,21.98,568,33,2\n"11134",2020-11-28,20.96,614,34,2\n"11135",2020-11-06,21.53,221,35,2\n"11136",2020-11-12,21.65,622,36,2\n"11137",2020-11-09,19.77,568,37,2\n"11138",2020-11-04,20.78,268,38,2\n"11139",2020-11-24,20.95,547,39,2\n"11140",2020-11-14,20.66,616,40,2\n"11141",2020-11-20,20.59,676,41,2\n"11142",2020-11-21,20.34,521,42,2\n"11143",2020-11-22,20.89,673,43,2\n"11144",2020-11-17,21.08,395,44,2\n"11145",2020-11-16,20.05,168,45,2\n"11146",2020-11-01,21.4,647,46,2\n"11147",2020-11-03,21,277,47,2\n"11148",2020-11-24,20.65,372,48,2\n"11149",2020-11-26,21.04,348,49,2\n"11150",2020-11-09,19.66,791,50,2\n"11151",2020-11-26,20.19,793,51,2\n"11152",2020-11-30,21.73,531,52,2\n"11153",2020-11-06,20.92,390,53,2\n"11154",2020-11-03,19.83,473,54,2\n"11155",2020-11-08,20.53,258,55,2\n"11156",2020-11-08,20.75,284,56,2\n"11157",2020-11-17,20.17,411,57,2\n"11158",2020-11-24,20.76,407,58,2\n"11159",2020-11-18,20.28,353,59,2\n"11160",2020-11-01,21.23,512,60,2\n"11161",2020-11-08,21.28,1051,61,2\n"11162",2020-11-22,19.52,310,62,2\n"11163",2020-11-13,20.56,205,63,2\n"11164",2020-11-26,20.65,366,64,2\n"11165",2020-11-21,20.72,408,65,2\n"11166",2020-11-27,21.39,368,66,2\n"11167",2020-11-10,20.45,597,67,2\n"11168",2020-11-03,19.98,182,68,2\n"11169",2020-11-04,20.52,892,69,2\n"11170",2020-11-16,21.07,295,70,2\n"11171",2020-11-18,20.47,755,71,2\n"11172",2020-11-01,21.16,652,72,2\n"11173",2020-11-15,20.04,863,73,2\n"11174",2020-11-17,20,623,74,2\n"11175",2020-11-05,20.9,524,75,2\n"11176",2020-11-08,21.36,814,76,2\n"11177",2020-11-27,20.46,467,77,2\n"11178",2020-11-15,20.12,809,78,2\n"11179",2020-11-01,20.55,238,79,2\n"11180",2020-11-25,20.96,1021,80,2\n"11181",2020-11-13,20.54,601,81,2\n"11182",2020-11-06,20.53,320,82,2\n"11183",2020-11-27,20.95,1047,83,2\n"11184",2020-11-30,20.02,255,84,2\n"11185",2020-11-01,22.26,439,85,2\n"11186",2020-11-12,20.73,757,86,2\n"11187",2020-11-05,20.76,509,87,2\n"11188",2020-11-02,21.28,755,88,2\n"11189",2020-11-06,20.7,904,89,2\n"11190",2020-11-07,19.78,189,90,2\n"11191",2020-11-07,21.52,485,91,2\n"11192",2020-11-22,20.4,1171,92,2\n"11193",2020-11-19,19.76,261,93,2\n"11194",2020-11-03,20.65,586,94,2\n"11195",2020-11-08,21.15,407,95,2\n"11196",2020-11-30,20.5,289,96,2\n"11197",2020-11-02,21.35,382,97,2\n"11198",2020-11-22,20.82,448,98,2\n"11199",2020-11-21,21.42,321,99,2\n"11200",2020-11-05,21.03,470,100,2\n"11201",2020-11-21,21.05,259,1,3\n"11202",2020-11-29,19.51,254,2,3\n"11203",2020-11-08,21.2,312,3,3\n"11204",2020-11-19,20.64,612,4,3\n"11205",2020-11-09,19.97,1317,5,3\n"11206",2020-11-20,20.68,222,6,3\n"11207",2020-11-11,21.24,280,7,3\n"11208",2020-11-05,19.66,365,8,3\n"11209",2020-11-24,20.67,208,9,3\n"11210",2020-11-04,21.87,734,10,3\n"11211",2020-11-21,20.91,271,11,3\n"11212",2020-11-30,20.09,941,12,3\n"11213",2020-11-20,20.45,559,13,3\n"11214",2020-11-11,19.34,306,14,3\n"11215",2020-11-27,19.54,326,15,3\n"11216",2020-11-20,20.28,227,16,3\n"11217",2020-11-15,21.64,476,17,3\n"11218",2020-11-11,20.73,416,18,3\n"11219",2020-11-13,19.89,311,19,3\n"11220",2020-11-19,20.28,234,20,3\n"11221",2020-11-15,20.6,612,21,3\n"11222",2020-11-21,20.73,557,22,3\n"11223",2020-11-13,20.04,382,23,3\n"11224",2020-11-11,20.54,325,24,3\n"11225",2020-11-20,21.89,611,25,3\n"11226",2020-11-11,19.93,329,26,3\n"11227",2020-11-25,22.07,764,27,3\n"11228",2020-11-25,21.53,1072,28,3\n"11229",2020-11-06,21.38,173,29,3\n"11230",2020-11-30,20.83,558,30,3\n"11231",2020-11-07,20.73,764,31,3\n"11232",2020-11-15,20.04,370,32,3\n"11233",2020-11-11,19.78,304,33,3\n"11234",2020-11-28,20.54,491,34,3\n"11235",2020-11-06,20.33,590,35,3\n"11236",2020-11-12,20.35,355,36,3\n"11237",2020-11-09,21.1,440,37,3\n"11238",2020-11-04,20.47,249,38,3\n"11239",2020-11-24,21.02,173,39,3\n"11240",2020-11-14,21.16,728,40,3\n"11241",2020-11-20,20.85,381,41,3\n"11242",2020-11-21,20.89,1275,42,3\n"11243",2020-11-22,20.88,308,43,3\n"11244",2020-11-17,19.94,275,44,3\n"11245",2020-11-16,20.18,591,45,3\n"11246",2020-11-01,21.6,330,46,3\n"11247",2020-11-03,20.86,588,47,3\n"11248",2020-11-24,20.86,502,48,3\n"11249",2020-11-26,20.55,154,49,3\n"11250",2020-11-09,19.5,428,50,3\n"11251",2020-11-26,20.43,287,51,3\n"11252",2020-11-30,20.17,225,52,3\n"11253",2020-11-06,21.26,676,53,3\n"11254",2020-11-03,20.58,619,54,3\n"11255",2020-11-08,20.79,369,55,3\n"11256",2020-11-08,20.56,394,56,3\n"11257",2020-11-17,20.76,360,57,3\n"11258",2020-11-24,21.03,383,58,3\n"11259",2020-11-18,20.78,292,59,3\n"11260",2020-11-01,20.9,225,60,3\n"11261",2020-11-08,19.99,275,61,3\n"11262",2020-11-22,19.62,286,62,3\n"11263",2020-11-13,20.08,368,63,3\n"11264",2020-11-26,20.4,326,64,3\n"11265",2020-11-21,22.21,512,65,3\n"11266",2020-11-27,20.69,549,66,3\n"11267",2020-11-10,21.49,475,67,3\n"11268",2020-11-03,21.7,361,68,3\n"11269",2020-11-04,19.95,310,69,3\n"11270",2020-11-16,20.06,1831,70,3\n"11271",2020-11-18,20.73,395,71,3\n"11272",2020-11-01,20.55,1023,72,3\n"11273",2020-11-15,20.9,596,73,3\n"11274",2020-11-17,19.93,401,74,3\n"11275",2020-11-05,20.31,441,75,3\n"11276",2020-11-08,20.82,275,76,3\n"11277",2020-11-27,20.49,512,77,3\n"11278",2020-11-15,20.31,486,78,3\n"11279",2020-11-01,20.41,410,79,3\n"11280",2020-11-25,20.28,543,80,3\n"11281",2020-11-13,19.37,265,81,3\n"11282",2020-11-06,21.07,395,82,3\n"11283",2020-11-27,20.12,784,83,3\n"11284",2020-11-30,20.73,909,84,3\n"11285",2020-11-01,20.91,639,85,3\n"11286",2020-11-12,21.03,701,86,3\n"11287",2020-11-05,19.85,668,87,3\n"11288",2020-11-02,21.69,864,88,3\n"11289",2020-11-06,19.99,663,89,3\n"11290",2020-11-07,20.53,437,90,3\n"11291",2020-11-07,21.41,379,91,3\n"11292",2020-11-22,20.24,1255,92,3\n"11293",2020-11-19,19.53,725,93,3\n"11294",2020-11-03,20.51,382,94,3\n"11295",2020-11-08,19.79,524,95,3\n"11296",2020-11-30,21.1,156,96,3\n"11297",2020-11-02,20.34,373,97,3\n"11298",2020-11-22,19.83,295,98,3\n"11299",2020-11-21,21.21,718,99,3\n"11300",2020-11-05,21.35,997,100,3\n"11301",2020-11-21,20.87,434,1,4\n"11302",2020-11-29,20.1,851,2,4\n"11303",2020-11-08,20.85,448,3,4\n"11304",2020-11-19,21.48,550,4,4\n"11305",2020-11-09,20.49,244,5,4\n"11306",2020-11-20,20.35,495,6,4\n"11307",2020-11-11,21.12,394,7,4\n"11308",2020-11-05,20.08,665,8,4\n"11309",2020-11-24,20.3,787,9,4\n"11310",2020-11-04,21.29,483,10,4\n"11311",2020-11-21,20.79,525,11,4\n"11312",2020-11-30,21.09,485,12,4\n"11313",2020-11-20,20.5,569,13,4\n"11314",2020-11-11,22.5,739,14,4\n"11315",2020-11-27,20.44,441,15,4\n"11316",2020-11-20,20.39,369,16,4\n"11317",2020-11-15,19.94,556,17,4\n"11318",2020-11-11,20.46,234,18,4\n"11319",2020-11-13,21.62,524,19,4\n"11320",2020-11-19,21.73,348,20,4\n"11321",2020-11-15,19.36,740,21,4\n"11322",2020-11-21,21.07,843,22,4\n"11323",2020-11-13,21.06,303,23,4\n"11324",2020-11-11,20.61,376,24,4\n"11325",2020-11-20,20.25,501,25,4\n"11326",2020-11-11,20.69,517,26,4\n"11327",2020-11-25,21.03,168,27,4\n"11328",2020-11-25,20.89,284,28,4\n"11329",2020-11-06,21.46,261,29,4\n"11330",2020-11-30,20.7,627,30,4\n"11331",2020-11-07,20.53,1095,31,4\n"11332",2020-11-15,20.82,599,32,4\n"11333",2020-11-11,20.94,800,33,4\n"11334",2020-11-28,21.09,320,34,4\n"11335",2020-11-06,21.4,310,35,4\n"11336",2020-11-12,20.21,397,36,4\n"11337",2020-11-09,20.64,179,37,4\n"11338",2020-11-04,19.78,490,38,4\n"11339",2020-11-24,20.12,624,39,4\n"11340",2020-11-14,21.09,344,40,4\n"11341",2020-11-20,18.77,200,41,4\n"11342",2020-11-21,20.7,389,42,4\n"11343",2020-11-22,19.97,428,43,4\n"11344",2020-11-17,20.05,700,44,4\n"11345",2020-11-16,20.23,608,45,4\n"11346",2020-11-01,20.23,415,46,4\n"11347",2020-11-03,20.8,323,47,4\n"11348",2020-11-24,22.78,226,48,4\n"11349",2020-11-26,20.77,236,49,4\n"11350",2020-11-09,22.45,548,50,4\n"11351",2020-11-26,20.36,859,51,4\n"11352",2020-11-30,19.97,336,52,4\n"11353",2020-11-06,20.3,857,53,4\n"11354",2020-11-03,20.45,487,54,4\n"11355",2020-11-08,20.49,547,55,4\n"11356",2020-11-08,21.63,282,56,4\n"11357",2020-11-17,21.03,338,57,4\n"11358",2020-11-24,20.47,413,58,4\n"11359",2020-11-18,22.41,630,59,4\n"11360",2020-11-01,21.9,287,60,4\n"11361",2020-11-08,21.03,601,61,4\n"11362",2020-11-22,20.76,639,62,4\n"11363",2020-11-13,20.08,364,63,4\n"11364",2020-11-26,21.34,401,64,4\n"11365",2020-11-21,21.32,520,65,4\n"11366",2020-11-27,21.51,346,66,4\n"11367",2020-11-10,20.52,743,67,4\n"11368",2020-11-03,21.21,794,68,4\n"11369",2020-11-04,20.64,526,69,4\n"11370",2020-11-16,20.99,623,70,4\n"11371",2020-11-18,20.82,462,71,4\n"11372",2020-11-01,21.89,120,72,4\n"11373",2020-11-15,20.55,421,73,4\n"11374",2020-11-17,20.28,649,74,4\n"11375",2020-11-05,20.13,444,75,4\n"11376",2020-11-08,21.71,379,76,4\n"11377",2020-11-27,21.27,579,77,4\n"11378",2020-11-15,19.62,586,78,4\n"11379",2020-11-01,21.04,586,79,4\n"11380",2020-11-25,20.48,621,80,4\n"11381",2020-11-13,21.11,646,81,4\n"11382",2020-11-06,19.93,1782,82,4\n"11383",2020-11-27,21.59,345,83,4\n"11384",2020-11-30,20.33,397,84,4\n"11385",2020-11-01,20.26,352,85,4\n"11386",2020-11-12,20.17,570,86,4\n"11387",2020-11-05,20.94,148,87,4\n"11388",2020-11-02,21.45,145,88,4\n"11389",2020-11-06,21.58,344,89,4\n"11390",2020-11-07,19.94,513,90,4\n"11391",2020-11-07,19.48,370,91,4\n"11392",2020-11-22,21.29,453,92,4\n"11393",2020-11-19,21.23,519,93,4\n"11394",2020-11-03,20.71,1222,94,4\n"11395",2020-11-08,20.64,373,95,4\n"11396",2020-11-30,20.22,490,96,4\n"11397",2020-11-02,20.32,1177,97,4\n"11398",2020-11-22,21.44,409,98,4\n"11399",2020-11-21,20.95,429,99,4\n"11400",2020-11-05,22.18,617,100,4\n"11401",2020-11-21,21.45,610,1,5\n"11402",2020-11-29,21.26,1213,2,5\n"11403",2020-11-08,20.59,328,3,5\n"11404",2020-11-19,20.41,926,4,5\n"11405",2020-11-09,21.49,165,5,5\n"11406",2020-11-20,20.97,308,6,5\n"11407",2020-11-11,20.72,227,7,5\n"11408",2020-11-05,19.72,542,8,5\n"11409",2020-11-24,21.45,578,9,5\n"11410",2020-11-04,19.99,570,10,5\n"11411",2020-11-21,21.29,329,11,5\n"11412",2020-11-30,20.98,180,12,5\n"11413",2020-11-20,20.56,283,13,5\n"11414",2020-11-11,20.49,534,14,5\n"11415",2020-11-27,20.54,582,15,5\n"11416",2020-11-20,21.57,404,16,5\n"11417",2020-11-15,19.06,288,17,5\n"11418",2020-11-11,20.38,419,18,5\n"11419",2020-11-13,21.27,319,19,5\n"11420",2020-11-19,21.53,349,20,5\n"11421",2020-11-15,19.97,1272,21,5\n"11422",2020-11-21,21.16,1281,22,5\n"11423",2020-11-13,20.97,623,23,5\n"11424",2020-11-11,21.01,748,24,5\n"11425",2020-11-20,20.53,406,25,5\n"11426",2020-11-11,21.72,685,26,5\n"11427",2020-11-25,21.27,1780,27,5\n"11428",2020-11-25,19.86,347,28,5\n"11429",2020-11-06,20.2,484,29,5\n"11430",2020-11-30,20.85,217,30,5\n"11431",2020-11-07,20.64,345,31,5\n"11432",2020-11-15,19.32,615,32,5\n"11433",2020-11-11,21.71,622,33,5\n"11434",2020-11-28,20.55,596,34,5\n"11435",2020-11-06,20.32,247,35,5\n"11436",2020-11-12,21.21,548,36,5\n"11437",2020-11-09,19.58,406,37,5\n"11438",2020-11-04,21.45,447,38,5\n"11439",2020-11-24,20.17,270,39,5\n"11440",2020-11-14,19.45,297,40,5\n"11441",2020-11-20,21.01,901,41,5\n"11442",2020-11-21,19.72,605,42,5\n"11443",2020-11-22,21.15,396,43,5\n"11444",2020-11-17,20.22,305,44,5\n"11445",2020-11-16,20.66,867,45,5\n"11446",2020-11-01,20.27,844,46,5\n"11447",2020-11-03,21.45,319,47,5\n"11448",2020-11-24,19.75,385,48,5\n"11449",2020-11-26,21.25,442,49,5\n"11450",2020-11-09,21.27,658,50,5\n"11451",2020-11-26,21.77,258,51,5\n"11452",2020-11-30,21.15,497,52,5\n"11453",2020-11-06,20.64,622,53,5\n"11454",2020-11-03,21.04,427,54,5\n"11455",2020-11-08,20.38,576,55,5\n"11456",2020-11-08,21.97,632,56,5\n"11457",2020-11-17,20.57,617,57,5\n"11458",2020-11-24,20.52,670,58,5\n"11459",2020-11-18,20.1,315,59,5\n"11460",2020-11-01,20.68,370,60,5\n"11461",2020-11-08,22.33,377,61,5\n"11462",2020-11-22,20.77,262,62,5\n"11463",2020-11-13,21.29,308,63,5\n"11464",2020-11-26,20.83,531,64,5\n"11465",2020-11-21,20.63,378,65,5\n"11466",2020-11-27,20.67,459,66,5\n"11467",2020-11-10,20.74,461,67,5\n"11468",2020-11-03,21.11,749,68,5\n"11469",2020-11-04,20.65,256,69,5\n"11470",2020-11-16,20.38,708,70,5\n"11471",2020-11-18,20.4,839,71,5\n"11472",2020-11-01,20.41,550,72,5\n"11473",2020-11-15,21.43,373,73,5\n"11474",2020-11-17,20.86,307,74,5\n"11475",2020-11-05,20.63,968,75,5\n"11476",2020-11-08,20.67,204,76,5\n"11477",2020-11-27,20.88,343,77,5\n"11478",2020-11-15,20.13,191,78,5\n"11479",2020-11-01,20.35,159,79,5\n"11480",2020-11-25,19.92,402,80,5\n"11481",2020-11-13,20.8,462,81,5\n"11482",2020-11-06,20.6,1209,82,5\n"11483",2020-11-27,19.74,172,83,5\n"11484",2020-11-30,20.46,381,84,5\n"11485",2020-11-01,21.7,239,85,5\n"11486",2020-11-12,19.8,928,86,5\n"11487",2020-11-05,21.09,453,87,5\n"11488",2020-11-02,21.15,604,88,5\n"11489",2020-11-06,21.93,921,89,5\n"11490",2020-11-07,20.92,223,90,5\n"11491",2020-11-07,21.36,654,91,5\n"11492",2020-11-22,20.52,695,92,5\n"11493",2020-11-19,19.9,448,93,5\n"11494",2020-11-03,20.77,1005,94,5\n"11495",2020-11-08,20.04,584,95,5\n"11496",2020-11-30,21.53,909,96,5\n"11497",2020-11-02,20.82,171,97,5\n"11498",2020-11-22,19.91,836,98,5\n"11499",2020-11-21,20.13,184,99,5\n"11500",2020-11-05,20.69,315,100,5\n"11501",2020-11-21,20.19,241,1,6\n"11502",2020-11-29,21.42,360,2,6\n"11503",2020-11-08,20.15,398,3,6\n"11504",2020-11-19,20.41,368,4,6\n"11505",2020-11-09,20.69,415,5,6\n"11506",2020-11-20,20.67,836,6,6\n"11507",2020-11-11,21.05,521,7,6\n"11508",2020-11-05,20.66,363,8,6\n"11509",2020-11-24,21.49,541,9,6\n"11510",2020-11-04,21.87,433,10,6\n"11511",2020-11-21,21.04,124,11,6\n"11512",2020-11-30,20.03,380,12,6\n"11513",2020-11-20,20.96,579,13,6\n"11514",2020-11-11,20.12,482,14,6\n"11515",2020-11-27,20.81,1167,15,6\n"11516",2020-11-20,19.85,434,16,6\n"11517",2020-11-15,19.95,893,17,6\n"11518",2020-11-11,20.45,199,18,6\n"11519",2020-11-13,20.72,795,19,6\n"11520",2020-11-19,20.43,617,20,6\n"11521",2020-11-15,22.08,451,21,6\n"11522",2020-11-21,20.25,574,22,6\n"11523",2020-11-13,20.2,523,23,6\n"11524",2020-11-11,21.13,518,24,6\n"11525",2020-11-20,20.95,244,25,6\n"11526",2020-11-11,21.42,512,26,6\n"11527",2020-11-25,20.43,977,27,6\n"11528",2020-11-25,20.16,216,28,6\n"11529",2020-11-06,20.44,197,29,6\n"11530",2020-11-30,20.92,218,30,6\n"11531",2020-11-07,20.88,431,31,6\n"11532",2020-11-15,21.06,651,32,6\n"11533",2020-11-11,22.05,579,33,6\n"11534",2020-11-28,20.47,556,34,6\n"11535",2020-11-06,21.12,753,35,6\n"11536",2020-11-12,19.83,443,36,6\n"11537",2020-11-09,19.91,340,37,6\n"11538",2020-11-04,21.1,986,38,6\n"11539",2020-11-24,21.01,474,39,6\n"11540",2020-11-14,21.25,184,40,6\n"11541",2020-11-20,20.79,341,41,6\n"11542",2020-11-21,20.15,429,42,6\n"11543",2020-11-22,20.38,211,43,6\n"11544",2020-11-17,21.23,525,44,6\n"11545",2020-11-16,20.79,419,45,6\n"11546",2020-11-01,19.46,870,46,6\n"11547",2020-11-03,20.4,647,47,6\n"11548",2020-11-24,20.66,268,48,6\n"11549",2020-11-26,19.93,219,49,6\n"11550",2020-11-09,21.07,657,50,6\n"11551",2020-11-26,20.04,251,51,6\n"11552",2020-11-30,20.23,709,52,6\n"11553",2020-11-06,21.23,866,53,6\n"11554",2020-11-03,20.77,360,54,6\n"11555",2020-11-08,20.07,322,55,6\n"11556",2020-11-08,20.89,153,56,6\n"11557",2020-11-17,20.39,303,57,6\n"11558",2020-11-24,19.6,409,58,6\n"11559",2020-11-18,20.69,299,59,6\n"11560",2020-11-01,21.1,679,60,6\n"11561",2020-11-08,19.77,409,61,6\n"11562",2020-11-22,19.68,513,62,6\n"11563",2020-11-13,20.61,517,63,6\n"11564",2020-11-26,19.86,250,64,6\n"11565",2020-11-21,20.58,217,65,6\n"11566",2020-11-27,19.77,382,66,6\n"11567",2020-11-10,20.35,486,67,6\n"11568",2020-11-03,19.9,383,68,6\n"11569",2020-11-04,20.77,970,69,6\n"11570",2020-11-16,21.77,395,70,6\n"11571",2020-11-18,21.35,259,71,6\n"11572",2020-11-01,20.86,396,72,6\n"11573",2020-11-15,20.63,490,73,6\n"11574",2020-11-17,20.36,382,74,6\n"11575",2020-11-05,21.11,500,75,6\n"11576",2020-11-08,21.45,675,76,6\n"11577",2020-11-27,21.31,1039,77,6\n"11578",2020-11-15,19.76,793,78,6\n"11579",2020-11-01,20.64,679,79,6\n"11580",2020-11-25,20.08,489,80,6\n"11581",2020-11-13,20.35,526,81,6\n"11582",2020-11-06,20.11,222,82,6\n"11583",2020-11-27,19.8,233,83,6\n"11584",2020-11-30,20.5,492,84,6\n"11585",2020-11-01,19.3,411,85,6\n"11586",2020-11-12,21.45,284,86,6\n"11587",2020-11-05,19.33,353,87,6\n"11588",2020-11-02,20.76,698,88,6\n"11589",2020-11-06,21.08,416,89,6\n"11590",2020-11-07,21.58,644,90,6\n"11591",2020-11-07,20.85,455,91,6\n"11592",2020-11-22,20.65,758,92,6\n"11593",2020-11-19,21.31,659,93,6\n"11594",2020-11-03,21.25,239,94,6\n"11595",2020-11-08,21.44,246,95,6\n"11596",2020-11-30,20.55,997,96,6\n"11597",2020-11-02,20.24,1265,97,6\n"11598",2020-11-22,21.73,591,98,6\n"11599",2020-11-21,20.57,418,99,6\n"11600",2020-11-05,20.21,228,100,6\n"11601",2020-11-21,19.56,818,1,7\n"11602",2020-11-29,20.44,412,2,7\n"11603",2020-11-08,21.34,642,3,7\n"11604",2020-11-19,20.54,166,4,7\n"11605",2020-11-09,21.7,584,5,7\n"11606",2020-11-20,20.69,482,6,7\n"11607",2020-11-11,21.1,892,7,7\n"11608",2020-11-05,20.8,426,8,7\n"11609",2020-11-24,19.42,422,9,7\n"11610",2020-11-04,19.88,203,10,7\n"11611",2020-11-21,21.15,369,11,7\n"11612",2020-11-30,20.57,581,12,7\n"11613",2020-11-20,20.53,450,13,7\n"11614",2020-11-11,20.32,274,14,7\n"11615",2020-11-27,20.15,251,15,7\n"11616",2020-11-20,21.05,715,16,7\n"11617",2020-11-15,21.75,321,17,7\n"11618",2020-11-11,21.87,227,18,7\n"11619",2020-11-13,20.64,447,19,7\n"11620",2020-11-19,20.13,598,20,7\n"11621",2020-11-15,21.2,399,21,7\n"11622",2020-11-21,21.57,242,22,7\n"11623",2020-11-13,19.65,280,23,7\n"11624",2020-11-11,21.19,363,24,7\n"11625",2020-11-20,20.72,360,25,7\n"11626",2020-11-11,19.9,444,26,7\n"11627",2020-11-25,20.8,559,27,7\n"11628",2020-11-25,21.34,308,28,7\n"11629",2020-11-06,20.85,379,29,7\n"11630",2020-11-30,22.07,382,30,7\n"11631",2020-11-07,20.86,258,31,7\n"11632",2020-11-15,19.47,503,32,7\n"11633",2020-11-11,21.34,728,33,7\n"11634",2020-11-28,21.81,554,34,7\n"11635",2020-11-06,20.47,163,35,7\n"11636",2020-11-12,21.75,286,36,7\n"11637",2020-11-09,20.93,258,37,7\n"11638",2020-11-04,21.9,667,38,7\n"11639",2020-11-24,21.16,554,39,7\n"11640",2020-11-14,20.83,590,40,7\n"11641",2020-11-20,20.71,387,41,7\n"11642",2020-11-21,20.59,796,42,7\n"11643",2020-11-22,20.48,302,43,7\n"11644",2020-11-17,21.73,171,44,7\n"11645",2020-11-16,20.39,344,45,7\n"11646",2020-11-01,20.22,407,46,7\n"11647",2020-11-03,20.5,466,47,7\n"11648",2020-11-24,20.59,405,48,7\n"11649",2020-11-26,20.51,1343,49,7\n"11650",2020-11-09,20.97,835,50,7\n"11651",2020-11-26,20.63,198,51,7\n"11652",2020-11-30,21.1,416,52,7\n"11653",2020-11-06,20.47,546,53,7\n"11654",2020-11-03,20.51,522,54,7\n"11655",2020-11-08,21.27,183,55,7\n"11656",2020-11-08,20.89,464,56,7\n"11657",2020-11-17,20.97,317,57,7\n"11658",2020-11-24,21.71,551,58,7\n"11659",2020-11-18,20.6,627,59,7\n"11660",2020-11-01,21.84,964,60,7\n"11661",2020-11-08,21.08,255,61,7\n"11662",2020-11-22,19.84,553,62,7\n"11663",2020-11-13,21.04,239,63,7\n"11664",2020-11-26,20.52,1175,64,7\n"11665",2020-11-21,19.79,644,65,7\n"11666",2020-11-27,20.52,301,66,7\n"11667",2020-11-10,20.64,151,67,7\n"11668",2020-11-03,21.47,108,68,7\n"11669",2020-11-04,21.18,131,69,7\n"11670",2020-11-16,20.9,906,70,7\n"11671",2020-11-18,20.22,353,71,7\n"11672",2020-11-01,20.87,1404,72,7\n"11673",2020-11-15,19.91,693,73,7\n"11674",2020-11-17,21.76,411,74,7\n"11675",2020-11-05,20.86,622,75,7\n"11676",2020-11-08,20.74,375,76,7\n"11677",2020-11-27,20.64,305,77,7\n"11678",2020-11-15,20.76,406,78,7\n"11679",2020-11-01,21.77,300,79,7\n"11680",2020-11-25,21.49,323,80,7\n"11681",2020-11-13,20.98,1050,81,7\n"11682",2020-11-06,19.9,375,82,7\n"11683",2020-11-27,20.04,244,83,7\n"11684",2020-11-30,20.3,352,84,7\n"11685",2020-11-01,19.56,572,85,7\n"11686",2020-11-12,19.81,457,86,7\n"11687",2020-11-05,21.53,370,87,7\n"11688",2020-11-02,20.8,406,88,7\n"11689",2020-11-06,20.85,558,89,7\n"11690",2020-11-07,21.24,232,90,7\n"11691",2020-11-07,21.12,1172,91,7\n"11692",2020-11-22,21.65,229,92,7\n"11693",2020-11-19,20.27,257,93,7\n"11694",2020-11-03,21.29,763,94,7\n"11695",2020-11-08,20.36,816,95,7\n"11696",2020-11-30,20.64,417,96,7\n"11697",2020-11-02,20.72,716,97,7\n"11698",2020-11-22,19.56,195,98,7\n"11699",2020-11-21,20.12,259,99,7\n"11700",2020-11-05,19.42,324,100,7\n"11701",2020-11-21,21.01,947,1,8\n"11702",2020-11-29,19.64,206,2,8\n"11703",2020-11-08,21.04,456,3,8\n"11704",2020-11-19,20.28,571,4,8\n"11705",2020-11-09,20.35,349,5,8\n"11706",2020-11-20,20.43,347,6,8\n"11707",2020-11-11,20.26,314,7,8\n"11708",2020-11-05,21.1,746,8,8\n"11709",2020-11-24,20.42,218,9,8\n"11710",2020-11-04,20.15,311,10,8\n"11711",2020-11-21,20.53,382,11,8\n"11712",2020-11-30,21.41,916,12,8\n"11713",2020-11-20,20.06,648,13,8\n"11714",2020-11-11,21.32,697,14,8\n"11715",2020-11-27,20.4,735,15,8\n"11716",2020-11-20,20.75,295,16,8\n"11717",2020-11-15,21.32,584,17,8\n"11718",2020-11-11,20.74,330,18,8\n"11719",2020-11-13,20.68,590,19,8\n"11720",2020-11-19,20.45,492,20,8\n"11721",2020-11-15,20.84,533,21,8\n"11722",2020-11-21,20.79,373,22,8\n"11723",2020-11-13,20.88,448,23,8\n"11724",2020-11-11,20.37,358,24,8\n"11725",2020-11-20,20.06,553,25,8\n"11726",2020-11-11,20.5,308,26,8\n"11727",2020-11-25,20.06,498,27,8\n"11728",2020-11-25,19.64,249,28,8\n"11729",2020-11-06,20.58,266,29,8\n"11730",2020-11-30,19.66,452,30,8\n"11731",2020-11-07,21.63,681,31,8\n"11732",2020-11-15,20.47,580,32,8\n"11733",2020-11-11,20.86,434,33,8\n"11734",2020-11-28,20,806,34,8\n"11735",2020-11-06,19.98,284,35,8\n"11736",2020-11-12,20.8,548,36,8\n"11737",2020-11-09,19.89,353,37,8\n"11738",2020-11-04,21.09,396,38,8\n"11739",2020-11-24,20.32,397,39,8\n"11740",2020-11-14,18.97,509,40,8\n"11741",2020-11-20,20.5,275,41,8\n"11742",2020-11-21,21.75,840,42,8\n"11743",2020-11-22,20.65,593,43,8\n"11744",2020-11-17,20.44,276,44,8\n"11745",2020-11-16,20.98,881,45,8\n"11746",2020-11-01,20.26,453,46,8\n"11747",2020-11-03,19.65,330,47,8\n"11748",2020-11-24,21.34,708,48,8\n"11749",2020-11-26,20.36,532,49,8\n"11750",2020-11-09,20.04,441,50,8\n"11751",2020-11-26,20.43,446,51,8\n"11752",2020-11-30,21.05,712,52,8\n"11753",2020-11-06,21.61,433,53,8\n"11754",2020-11-03,22.53,846,54,8\n"11755",2020-11-08,19.76,897,55,8\n"11756",2020-11-08,21.87,478,56,8\n"11757",2020-11-17,20.93,564,57,8\n"11758",2020-11-24,21.07,734,58,8\n"11759",2020-11-18,19.37,1297,59,8\n"11760",2020-11-01,21.18,606,60,8\n"11761",2020-11-08,20.24,1052,61,8\n"11762",2020-11-22,20.69,248,62,8\n"11763",2020-11-13,21.29,554,63,8\n"11764",2020-11-26,21.54,192,64,8\n"11765",2020-11-21,20.49,381,65,8\n"11766",2020-11-27,20.71,270,66,8\n"11767",2020-11-10,19.83,398,67,8\n"11768",2020-11-03,20.91,504,68,8\n"11769",2020-11-04,20.07,317,69,8\n"11770",2020-11-16,21.69,486,70,8\n"11771",2020-11-18,19.1,768,71,8\n"11772",2020-11-01,20.1,649,72,8\n"11773",2020-11-15,21.39,719,73,8\n"11774",2020-11-17,20.17,322,74,8\n"11775",2020-11-05,20.77,673,75,8\n"11776",2020-11-08,20.57,439,76,8\n"11777",2020-11-27,20.68,233,77,8\n"11778",2020-11-15,20.09,353,78,8\n"11779",2020-11-01,19.94,399,79,8\n"11780",2020-11-25,21.05,324,80,8\n"11781",2020-11-13,21.07,668,81,8\n"11782",2020-11-06,20.48,503,82,8\n"11783",2020-11-27,20.91,543,83,8\n"11784",2020-11-30,20.91,574,84,8\n"11785",2020-11-01,20.84,644,85,8\n"11786",2020-11-12,20.71,517,86,8\n"11787",2020-11-05,21.58,488,87,8\n"11788",2020-11-02,19.99,333,88,8\n"11789",2020-11-06,21.14,393,89,8\n"11790",2020-11-07,19.73,439,90,8\n"11791",2020-11-07,21.54,528,91,8\n"11792",2020-11-22,20.96,457,92,8\n"11793",2020-11-19,21.52,301,93,8\n"11794",2020-11-03,22.03,382,94,8\n"11795",2020-11-08,21.03,398,95,8\n"11796",2020-11-30,20.19,742,96,8\n"11797",2020-11-02,20.44,413,97,8\n"11798",2020-11-22,20.06,791,98,8\n"11799",2020-11-21,21.29,501,99,8\n"11800",2020-11-05,20.56,308,100,8\n"11801",2020-11-21,20.84,579,1,9\n"11802",2020-11-29,20.81,718,2,9\n"11803",2020-11-08,21.01,490,3,9\n"11804",2020-11-19,21.08,1170,4,9\n"11805",2020-11-09,21.02,416,5,9\n"11806",2020-11-20,20.73,634,6,9\n"11807",2020-11-11,21.4,277,7,9\n"11808",2020-11-05,20.55,643,8,9\n"11809",2020-11-24,19.51,319,9,9\n"11810",2020-11-04,20.61,412,10,9\n"11811",2020-11-21,21.29,430,11,9\n"11812",2020-11-30,20.63,561,12,9\n"11813",2020-11-20,20.92,369,13,9\n"11814",2020-11-11,22.28,658,14,9\n"11815",2020-11-27,19.79,631,15,9\n"11816",2020-11-20,21.06,257,16,9\n"11817",2020-11-15,19.56,596,17,9\n"11818",2020-11-11,20.77,629,18,9\n"11819",2020-11-13,20.78,383,19,9\n"11820",2020-11-19,21.14,319,20,9\n"11821",2020-11-15,20.61,1648,21,9\n"11822",2020-11-21,20.49,672,22,9\n"11823",2020-11-13,21,584,23,9\n"11824",2020-11-11,21.85,551,24,9\n"11825",2020-11-20,20.85,590,25,9\n"11826",2020-11-11,20.7,390,26,9\n"11827",2020-11-25,21.01,803,27,9\n"11828",2020-11-25,21.55,299,28,9\n"11829",2020-11-06,20.48,339,29,9\n"11830",2020-11-30,21.07,313,30,9\n"11831",2020-11-07,20.82,438,31,9\n"11832",2020-11-15,21.46,384,32,9\n"11833",2020-11-11,19.69,600,33,9\n"11834",2020-11-28,21.14,528,34,9\n"11835",2020-11-06,21.8,298,35,9\n"11836",2020-11-12,20.15,303,36,9\n"11837",2020-11-09,20.15,375,37,9\n"11838",2020-11-04,20.94,416,38,9\n"11839",2020-11-24,19.92,309,39,9\n"11840",2020-11-14,20.96,1146,40,9\n"11841",2020-11-20,20.01,464,41,9\n"11842",2020-11-21,22.29,628,42,9\n"11843",2020-11-22,20.26,449,43,9\n"11844",2020-11-17,19.52,609,44,9\n"11845",2020-11-16,20.64,615,45,9\n"11846",2020-11-01,20.87,543,46,9\n"11847",2020-11-03,20.96,308,47,9\n"11848",2020-11-24,20.38,298,48,9\n"11849",2020-11-26,20.47,718,49,9\n"11850",2020-11-09,20.99,466,50,9\n"11851",2020-11-26,19.68,237,51,9\n"11852",2020-11-30,21.91,203,52,9\n"11853",2020-11-06,20.42,674,53,9\n"11854",2020-11-03,21.02,632,54,9\n"11855",2020-11-08,20.92,635,55,9\n"11856",2020-11-08,19.96,1267,56,9\n"11857",2020-11-17,20.45,373,57,9\n"11858",2020-11-24,21.37,784,58,9\n"11859",2020-11-18,21.63,1167,59,9\n"11860",2020-11-01,19.56,373,60,9\n"11861",2020-11-08,20.69,239,61,9\n"11862",2020-11-22,20.35,728,62,9\n"11863",2020-11-13,19.67,696,63,9\n"11864",2020-11-26,20.1,217,64,9\n"11865",2020-11-21,19.85,282,65,9\n"11866",2020-11-27,20.48,574,66,9\n"11867",2020-11-10,20.22,288,67,9\n"11868",2020-11-03,20.9,349,68,9\n"11869",2020-11-04,20.24,274,69,9\n"11870",2020-11-16,20.53,487,70,9\n"11871",2020-11-18,20.08,548,71,9\n"11872",2020-11-01,20.66,1091,72,9\n"11873",2020-11-15,20.27,278,73,9\n"11874",2020-11-17,20.7,373,74,9\n"11875",2020-11-05,21.87,238,75,9\n"11876",2020-11-08,20.39,178,76,9\n"11877",2020-11-27,20.58,338,77,9\n"11878",2020-11-15,20.41,199,78,9\n"11879",2020-11-01,20.67,287,79,9\n"11880",2020-11-25,20.75,243,80,9\n"11881",2020-11-13,21.42,442,81,9\n"11882",2020-11-06,21.5,553,82,9\n"11883",2020-11-27,20.85,229,83,9\n"11884",2020-11-30,20.73,540,84,9\n"11885",2020-11-01,20.83,707,85,9\n"11886",2020-11-12,21.05,496,86,9\n"11887",2020-11-05,19.82,1324,87,9\n"11888",2020-11-02,21.95,244,88,9\n"11889",2020-11-06,19.95,293,89,9\n"11890",2020-11-07,21.14,719,90,9\n"11891",2020-11-07,23.2,263,91,9\n"11892",2020-11-22,20.06,272,92,9\n"11893",2020-11-19,19.69,540,93,9\n"11894",2020-11-03,19.99,425,94,9\n"11895",2020-11-08,20.06,762,95,9\n"11896",2020-11-30,21.04,513,96,9\n"11897",2020-11-02,20.16,240,97,9\n"11898",2020-11-22,20.61,157,98,9\n"11899",2020-11-21,20.53,603,99,9\n"11900",2020-11-05,19.81,513,100,9\n"11901",2020-11-21,20.25,307,1,10\n"11902",2020-11-29,20.9,144,2,10\n"11903",2020-11-08,20.47,1034,3,10\n"11904",2020-11-19,21.05,503,4,10\n"11905",2020-11-09,20.83,595,5,10\n"11906",2020-11-20,20.79,363,6,10\n"11907",2020-11-11,20.36,878,7,10\n"11908",2020-11-05,20.33,342,8,10\n"11909",2020-11-24,22.79,400,9,10\n"11910",2020-11-04,20.68,484,10,10\n"11911",2020-11-21,20.33,308,11,10\n"11912",2020-11-30,21.06,717,12,10\n"11913",2020-11-20,19.92,539,13,10\n"11914",2020-11-11,20,263,14,10\n"11915",2020-11-27,21.32,358,15,10\n"11916",2020-11-20,21.37,745,16,10\n"11917",2020-11-15,20.18,202,17,10\n"11918",2020-11-11,21.41,585,18,10\n"11919",2020-11-13,20.93,221,19,10\n"11920",2020-11-19,20.52,499,20,10\n"11921",2020-11-15,20.68,307,21,10\n"11922",2020-11-21,21.22,218,22,10\n"11923",2020-11-13,20.85,204,23,10\n"11924",2020-11-11,20.13,487,24,10\n"11925",2020-11-20,21.7,324,25,10\n"11926",2020-11-11,21.7,262,26,10\n"11927",2020-11-25,20.22,659,27,10\n"11928",2020-11-25,20.59,745,28,10\n"11929",2020-11-06,21.98,393,29,10\n"11930",2020-11-30,20.31,483,30,10\n"11931",2020-11-07,20.65,290,31,10\n"11932",2020-11-15,20.62,733,32,10\n"11933",2020-11-11,21.89,303,33,10\n"11934",2020-11-28,20.9,581,34,10\n"11935",2020-11-06,19.83,546,35,10\n"11936",2020-11-12,20.27,438,36,10\n"11937",2020-11-09,19.21,545,37,10\n"11938",2020-11-04,21.23,234,38,10\n"11939",2020-11-24,19.31,296,39,10\n"11940",2020-11-14,21.56,654,40,10\n"11941",2020-11-20,20.36,307,41,10\n"11942",2020-11-21,21.81,388,42,10\n"11943",2020-11-22,20.55,789,43,10\n"11944",2020-11-17,20.22,643,44,10\n"11945",2020-11-16,21.19,679,45,10\n"11946",2020-11-01,20.77,290,46,10\n"11947",2020-11-03,20.73,776,47,10\n"11948",2020-11-24,19.74,799,48,10\n"11949",2020-11-26,20.27,358,49,10\n"11950",2020-11-09,20.65,538,50,10\n"11951",2020-11-26,20.56,803,51,10\n"11952",2020-11-30,21.03,434,52,10\n"11953",2020-11-06,20.56,408,53,10\n"11954",2020-11-03,20.9,976,54,10\n"11955",2020-11-08,19.95,297,55,10\n"11956",2020-11-08,20.78,911,56,10\n"11957",2020-11-17,21.09,477,57,10\n"11958",2020-11-24,20.65,634,58,10\n"11959",2020-11-18,21.82,604,59,10\n"11960",2020-11-01,20.56,1580,60,10\n"11961",2020-11-08,20.98,790,61,10\n"11962",2020-11-22,20.28,363,62,10\n"11963",2020-11-13,19.96,1386,63,10\n"11964",2020-11-26,20.62,477,64,10\n"11965",2020-11-21,20.79,645,65,10\n"11966",2020-11-27,20.26,417,66,10\n"11967",2020-11-10,20.71,279,67,10\n"11968",2020-11-03,21.99,434,68,10\n"11969",2020-11-04,20.9,681,69,10\n"11970",2020-11-16,20.96,427,70,10\n"11971",2020-11-18,20.42,699,71,10\n"11972",2020-11-01,19.22,336,72,10\n"11973",2020-11-15,20.82,456,73,10\n"11974",2020-11-17,20.24,414,74,10\n"11975",2020-11-05,20.44,295,75,10\n"11976",2020-11-08,21.27,547,76,10\n"11977",2020-11-27,20.95,516,77,10\n"11978",2020-11-15,19.98,1575,78,10\n"11979",2020-11-01,20.04,223,79,10\n"11980",2020-11-25,20.38,267,80,10\n"11981",2020-11-13,21.49,1189,81,10\n"11982",2020-11-06,20.44,483,82,10\n"11983",2020-11-27,21.76,474,83,10\n"11984",2020-11-30,22,650,84,10\n"11985",2020-11-01,20.81,725,85,10\n"11986",2020-11-12,21.34,467,86,10\n"11987",2020-11-05,20.02,566,87,10\n"11988",2020-11-02,20.39,279,88,10\n"11989",2020-11-06,20.61,443,89,10\n"11990",2020-11-07,20.1,437,90,10\n"11991",2020-11-07,21.28,267,91,10\n"11992",2020-11-22,20.75,906,92,10\n"11993",2020-11-19,20.73,596,93,10\n"11994",2020-11-03,20.84,287,94,10\n"11995",2020-11-08,20.45,525,95,10\n"11996",2020-11-30,20.06,1892,96,10\n"11997",2020-11-02,21.9,731,97,10\n"11998",2020-11-22,20.85,531,98,10\n"11999",2020-11-21,21.34,273,99,10\n"12000",2020-11-05,20.6,387,100,10\n"12001",2020-12-02,21.51,191,1,1\n"12002",2020-12-23,19.7,336,2,1\n"12003",2020-12-15,21.44,390,3,1\n"12004",2020-12-16,21.46,360,4,1\n"12005",2020-12-10,21.33,248,5,1\n"12006",2020-12-03,19.89,569,6,1\n"12007",2020-12-21,21.54,343,7,1\n"12008",2020-12-28,21.07,273,8,1\n"12009",2020-12-15,21.65,1138,9,1\n"12010",2020-12-11,22.08,339,10,1\n"12011",2020-12-05,21.32,595,11,1\n"12012",2020-12-03,20.98,461,12,1\n"12013",2020-12-20,22.66,180,13,1\n"12014",2020-12-26,21.64,258,14,1\n"12015",2020-12-30,21.91,167,15,1\n"12016",2020-12-06,21.98,325,16,1\n"12017",2020-12-27,21.68,270,17,1\n"12018",2020-12-24,22.31,446,18,1\n"12019",2020-12-28,22,335,19,1\n"12020",2020-12-22,22,478,20,1\n"12021",2020-12-02,20.03,505,21,1\n"12022",2020-12-26,19.81,299,22,1\n"12023",2020-12-12,19.99,713,23,1\n"12024",2020-12-24,21.09,218,24,1\n"12025",2020-12-17,21.23,224,25,1\n"12026",2020-12-19,20.47,242,26,1\n"12027",2020-12-30,20.38,345,27,1\n"12028",2020-12-08,21.28,384,28,1\n"12029",2020-12-24,20.77,748,29,1\n"12030",2020-12-01,21.59,504,30,1\n"12031",2020-12-06,21.49,340,31,1\n"12032",2020-12-25,20.31,484,32,1\n"12033",2020-12-20,21.51,413,33,1\n"12034",2020-12-15,20.52,272,34,1\n"12035",2020-12-02,21,424,35,1\n"12036",2020-12-04,20.13,523,36,1\n"12037",2020-12-09,20.72,235,37,1\n"12038",2020-12-29,20.97,423,38,1\n"12039",2020-12-29,21.21,554,39,1\n"12040",2020-12-13,21.12,716,40,1\n"12041",2020-12-17,20.94,446,41,1\n"12042",2020-12-27,20.66,96,42,1\n"12043",2020-12-20,20.98,557,43,1\n"12044",2020-12-20,21.51,312,44,1\n"12045",2020-12-21,22.06,398,45,1\n"12046",2020-12-02,21.34,297,46,1\n"12047",2020-12-20,21.97,263,47,1\n"12048",2020-12-15,21.67,557,48,1\n"12049",2020-12-17,21.35,672,49,1\n"12050",2020-12-21,20.13,123,50,1\n"12051",2020-12-02,21.66,440,51,1\n"12052",2020-12-10,21.51,243,52,1\n"12053",2020-12-07,22.2,121,53,1\n"12054",2020-12-23,21.99,319,54,1\n"12055",2020-12-15,20.47,430,55,1\n"12056",2020-12-04,21.25,160,56,1\n"12057",2020-12-19,20.92,317,57,1\n"12058",2020-12-03,20.94,448,58,1\n"12059",2020-12-16,21.3,467,59,1\n"12060",2020-12-21,22.76,197,60,1\n"12061",2020-12-17,21.22,310,61,1\n"12062",2020-12-25,21.83,100,62,1\n"12063",2020-12-19,20.73,481,63,1\n"12064",2020-12-22,21.35,606,64,1\n"12065",2020-12-25,20.99,360,65,1\n"12066",2020-12-29,21.88,365,66,1\n"12067",2020-12-15,20.69,367,67,1\n"12068",2020-12-11,21.4,153,68,1\n"12069",2020-12-14,20.87,453,69,1\n"12070",2020-12-27,20.71,360,70,1\n"12071",2020-12-30,21.22,283,71,1\n"12072",2020-12-01,20.67,270,72,1\n"12073",2020-12-10,22.17,335,73,1\n"12074",2020-12-31,21.59,341,74,1\n"12075",2020-12-26,20.61,201,75,1\n"12076",2020-12-25,21.4,432,76,1\n"12077",2020-12-22,21.93,317,77,1\n"12078",2020-12-09,20.83,100,78,1\n"12079",2020-12-21,19.86,206,79,1\n"12080",2020-12-16,20.22,354,80,1\n"12081",2020-12-14,21.61,291,81,1\n"12082",2020-12-18,21.53,581,82,1\n"12083",2020-12-30,21.9,638,83,1\n"12084",2020-12-17,21.79,690,84,1\n"12085",2020-12-14,20.54,345,85,1\n"12086",2020-12-22,21.86,350,86,1\n"12087",2020-12-15,22.28,383,87,1\n"12088",2020-12-02,20.95,445,88,1\n"12089",2020-12-02,20.33,266,89,1\n"12090",2020-12-26,20.55,232,90,1\n"12091",2020-12-31,21.18,209,91,1\n"12092",2020-12-26,21.77,224,92,1\n"12093",2020-12-24,20.31,342,93,1\n"12094",2020-12-13,21.13,358,94,1\n"12095",2020-12-24,21.29,336,95,1\n"12096",2020-12-23,21.42,286,96,1\n"12097",2020-12-23,21.57,243,97,1\n"12098",2020-12-10,21.37,546,98,1\n"12099",2020-12-06,19.64,238,99,1\n"12100",2020-12-12,21.94,333,100,1\n"12101",2020-12-02,21.35,393,1,2\n"12102",2020-12-23,21.68,333,2,2\n"12103",2020-12-15,21.47,376,3,2\n"12104",2020-12-16,21.15,325,4,2\n"12105",2020-12-10,21.36,167,5,2\n"12106",2020-12-03,22.14,395,6,2\n"12107",2020-12-21,21.39,274,7,2\n"12108",2020-12-28,22.03,217,8,2\n"12109",2020-12-15,21.07,366,9,2\n"12110",2020-12-11,20.53,111,10,2\n"12111",2020-12-05,20.97,329,11,2\n"12112",2020-12-03,21.46,448,12,2\n"12113",2020-12-20,20.96,299,13,2\n"12114",2020-12-26,22.13,377,14,2\n"12115",2020-12-30,21.15,359,15,2\n"12116",2020-12-06,21.06,336,16,2\n"12117",2020-12-27,21.11,271,17,2\n"12118",2020-12-24,20.1,184,18,2\n"12119",2020-12-28,21.73,171,19,2\n"12120",2020-12-22,20.53,177,20,2\n"12121",2020-12-02,21.64,488,21,2\n"12122",2020-12-26,20.24,304,22,2\n"12123",2020-12-12,21.66,390,23,2\n"12124",2020-12-24,20.41,394,24,2\n"12125",2020-12-17,20.79,413,25,2\n"12126",2020-12-19,21.03,219,26,2\n"12127",2020-12-30,21.03,537,27,2\n"12128",2020-12-08,21.88,267,28,2\n"12129",2020-12-24,22.23,650,29,2\n"12130",2020-12-01,21.58,247,30,2\n"12131",2020-12-06,22.17,129,31,2\n"12132",2020-12-25,21.34,309,32,2\n"12133",2020-12-20,21.24,164,33,2\n"12134",2020-12-15,20.9,435,34,2\n"12135",2020-12-02,22.33,322,35,2\n"12136",2020-12-04,21.23,495,36,2\n"12137",2020-12-09,22.17,192,37,2\n"12138",2020-12-29,20.72,203,38,2\n"12139",2020-12-29,21.02,371,39,2\n"12140",2020-12-13,21.3,688,40,2\n"12141",2020-12-17,21.35,148,41,2\n"12142",2020-12-27,21.88,241,42,2\n"12143",2020-12-20,22.15,357,43,2\n"12144",2020-12-20,20.86,298,44,2\n"12145",2020-12-21,21.74,542,45,2\n"12146",2020-12-02,20.73,285,46,2\n"12147",2020-12-20,21.37,231,47,2\n"12148",2020-12-15,22.68,1013,48,2\n"12149",2020-12-17,20.16,197,49,2\n"12150",2020-12-21,21.23,499,50,2\n"12151",2020-12-02,20.28,646,51,2\n"12152",2020-12-10,22.2,386,52,2\n"12153",2020-12-07,19.93,227,53,2\n"12154",2020-12-23,22.33,205,54,2\n"12155",2020-12-15,20.71,341,55,2\n"12156",2020-12-04,21.03,205,56,2\n"12157",2020-12-19,21.16,485,57,2\n"12158",2020-12-03,21.2,288,58,2\n"12159",2020-12-16,21.01,273,59,2\n"12160",2020-12-21,20.28,254,60,2\n"12161",2020-12-17,20.39,168,61,2\n"12162",2020-12-25,21.29,328,62,2\n"12163",2020-12-19,21.75,544,63,2\n"12164",2020-12-22,20.91,345,64,2\n"12165",2020-12-25,20.07,583,65,2\n"12166",2020-12-29,20.37,405,66,2\n"12167",2020-12-15,21.2,109,67,2\n"12168",2020-12-11,20.69,180,68,2\n"12169",2020-12-14,21.45,231,69,2\n"12170",2020-12-27,20.1,164,70,2\n"12171",2020-12-30,21.28,204,71,2\n"12172",2020-12-01,21.16,191,72,2\n"12173",2020-12-10,20.42,230,73,2\n"12174",2020-12-31,21.23,171,74,2\n"12175",2020-12-26,22.34,228,75,2\n"12176",2020-12-25,21.51,222,76,2\n"12177",2020-12-22,19.61,270,77,2\n"12178",2020-12-09,21.4,395,78,2\n"12179",2020-12-21,20.3,510,79,2\n"12180",2020-12-16,21.67,434,80,2\n"12181",2020-12-14,21.79,261,81,2\n"12182",2020-12-18,20.9,212,82,2\n"12183",2020-12-30,22.11,578,83,2\n"12184",2020-12-17,20.25,310,84,2\n"12185",2020-12-14,22.39,453,85,2\n"12186",2020-12-22,20.2,351,86,2\n"12187",2020-12-15,20.13,297,87,2\n"12188",2020-12-02,20.89,239,88,2\n"12189",2020-12-02,21.17,469,89,2\n"12190",2020-12-26,19.82,290,90,2\n"12191",2020-12-31,21.24,262,91,2\n"12192",2020-12-26,20.83,439,92,2\n"12193",2020-12-24,20.29,367,93,2\n"12194",2020-12-13,22.3,593,94,2\n"12195",2020-12-24,22.7,227,95,2\n"12196",2020-12-23,20.38,775,96,2\n"12197",2020-12-23,21.69,76,97,2\n"12198",2020-12-10,19.31,417,98,2\n"12199",2020-12-06,20.86,130,99,2\n"12200",2020-12-12,22.57,164,100,2\n"12201",2020-12-02,20.87,793,1,3\n"12202",2020-12-23,21.69,315,2,3\n"12203",2020-12-15,20.46,336,3,3\n"12204",2020-12-16,21.25,340,4,3\n"12205",2020-12-10,19.8,728,5,3\n"12206",2020-12-03,20.2,543,6,3\n"12207",2020-12-21,20.91,259,7,3\n"12208",2020-12-28,20.94,304,8,3\n"12209",2020-12-15,21.33,247,9,3\n"12210",2020-12-11,20.89,278,10,3\n"12211",2020-12-05,20.8,803,11,3\n"12212",2020-12-03,20.56,734,12,3\n"12213",2020-12-20,21.51,216,13,3\n"12214",2020-12-26,20.99,804,14,3\n"12215",2020-12-30,20.99,570,15,3\n"12216",2020-12-06,20.97,262,16,3\n"12217",2020-12-27,22.24,148,17,3\n"12218",2020-12-24,22.18,336,18,3\n"12219",2020-12-28,22.18,456,19,3\n"12220",2020-12-22,21.32,244,20,3\n"12221",2020-12-02,20.4,469,21,3\n"12222",2020-12-26,21.84,805,22,3\n"12223",2020-12-12,21.65,703,23,3\n"12224",2020-12-24,21.71,638,24,3\n"12225",2020-12-17,21.43,354,25,3\n"12226",2020-12-19,21.56,233,26,3\n"12227",2020-12-30,22.18,473,27,3\n"12228",2020-12-08,21.35,265,28,3\n"12229",2020-12-24,21.27,236,29,3\n"12230",2020-12-01,21.1,366,30,3\n"12231",2020-12-06,21.52,338,31,3\n"12232",2020-12-25,22.02,444,32,3\n"12233",2020-12-20,20.55,149,33,3\n"12234",2020-12-15,21.18,317,34,3\n"12235",2020-12-02,21,249,35,3\n"12236",2020-12-04,21.86,278,36,3\n"12237",2020-12-09,20.6,224,37,3\n"12238",2020-12-29,21.59,259,38,3\n"12239",2020-12-29,21.35,377,39,3\n"12240",2020-12-13,21.38,115,40,3\n"12241",2020-12-17,20.93,425,41,3\n"12242",2020-12-27,21.51,632,42,3\n"12243",2020-12-20,21.88,338,43,3\n"12244",2020-12-20,21.19,236,44,3\n"12245",2020-12-21,22,358,45,3\n"12246",2020-12-02,20.71,263,46,3\n"12247",2020-12-20,21.46,266,47,3\n"12248",2020-12-15,22.17,430,48,3\n"12249",2020-12-17,19.93,412,49,3\n"12250",2020-12-21,20.53,276,50,3\n"12251",2020-12-02,21.17,247,51,3\n"12252",2020-12-10,20.42,152,52,3\n"12253",2020-12-07,20.81,685,53,3\n"12254",2020-12-23,21.17,652,54,3\n"12255",2020-12-15,20.64,270,55,3\n"12256",2020-12-04,21.42,164,56,3\n"12257",2020-12-19,20.24,706,57,3\n"12258",2020-12-03,21.26,300,58,3\n"12259",2020-12-16,21,431,59,3\n"12260",2020-12-21,21.73,228,60,3\n"12261",2020-12-17,21.74,183,61,3\n"12262",2020-12-25,21.32,384,62,3\n"12263",2020-12-19,21.78,443,63,3\n"12264",2020-12-22,21.68,224,64,3\n"12265",2020-12-25,20.9,699,65,3\n"12266",2020-12-29,22.1,258,66,3\n"12267",2020-12-15,20.06,319,67,3\n"12268",2020-12-11,20.93,548,68,3\n"12269",2020-12-14,21.64,276,69,3\n"12270",2020-12-27,21.35,898,70,3\n"12271",2020-12-30,22.17,422,71,3\n"12272",2020-12-01,23.06,223,72,3\n"12273",2020-12-10,19.36,327,73,3\n"12274",2020-12-31,21.66,554,74,3\n"12275",2020-12-26,20.68,539,75,3\n"12276",2020-12-25,20.36,174,76,3\n"12277",2020-12-22,21.66,228,77,3\n"12278",2020-12-09,21.29,116,78,3\n"12279",2020-12-21,20.79,313,79,3\n"12280",2020-12-16,20.66,100,80,3\n"12281",2020-12-14,21.72,428,81,3\n"12282",2020-12-18,20.94,271,82,3\n"12283",2020-12-30,21.08,244,83,3\n"12284",2020-12-17,20.03,262,84,3\n"12285",2020-12-14,22.41,333,85,3\n"12286",2020-12-22,21.23,199,86,3\n"12287",2020-12-15,20.3,311,87,3\n"12288",2020-12-02,21.62,365,88,3\n"12289",2020-12-02,21.18,227,89,3\n"12290",2020-12-26,21.31,165,90,3\n"12291",2020-12-31,20.74,207,91,3\n"12292",2020-12-26,22.32,198,92,3\n"12293",2020-12-24,21.51,331,93,3\n"12294",2020-12-13,21.7,183,94,3\n"12295",2020-12-24,21.09,365,95,3\n"12296",2020-12-23,21.86,302,96,3\n"12297",2020-12-23,22.43,301,97,3\n"12298",2020-12-10,20.49,130,98,3\n"12299",2020-12-06,20.93,137,99,3\n"12300",2020-12-12,21.6,240,100,3\n"12301",2020-12-02,20.02,180,1,4\n"12302",2020-12-23,22.91,188,2,4\n"12303",2020-12-15,22.01,556,3,4\n"12304",2020-12-16,19.99,295,4,4\n"12305",2020-12-10,20.83,384,5,4\n"12306",2020-12-03,21.82,1233,6,4\n"12307",2020-12-21,21.54,402,7,4\n"12308",2020-12-28,21.13,822,8,4\n"12309",2020-12-15,21.86,404,9,4\n"12310",2020-12-11,21.29,384,10,4\n"12311",2020-12-05,21.77,205,11,4\n"12312",2020-12-03,21.36,340,12,4\n"12313",2020-12-20,21.7,249,13,4\n"12314",2020-12-26,21.11,266,14,4\n"12315",2020-12-30,22.59,201,15,4\n"12316",2020-12-06,21.49,379,16,4\n"12317",2020-12-27,21.92,240,17,4\n"12318",2020-12-24,22.33,331,18,4\n"12319",2020-12-28,20.82,463,19,4\n"12320",2020-12-22,20.78,206,20,4\n"12321",2020-12-02,20.5,439,21,4\n"12322",2020-12-26,20.04,1021,22,4\n"12323",2020-12-12,20.78,441,23,4\n"12324",2020-12-24,22.24,314,24,4\n"12325",2020-12-17,20.27,230,25,4\n"12326",2020-12-19,21.36,517,26,4\n"12327",2020-12-30,21.34,245,27,4\n"12328",2020-12-08,21.86,598,28,4\n"12329",2020-12-24,20.8,205,29,4\n"12330",2020-12-01,20.77,434,30,4\n"12331",2020-12-06,20.24,372,31,4\n"12332",2020-12-25,21.06,212,32,4\n"12333",2020-12-20,21.05,382,33,4\n"12334",2020-12-15,22.67,319,34,4\n"12335",2020-12-02,22.75,198,35,4\n"12336",2020-12-04,22,433,36,4\n"12337",2020-12-09,20.67,144,37,4\n"12338",2020-12-29,20.31,380,38,4\n"12339",2020-12-29,22.18,1130,39,4\n"12340",2020-12-13,19.83,621,40,4\n"12341",2020-12-17,21.92,397,41,4\n"12342",2020-12-27,22.08,430,42,4\n"12343",2020-12-20,21.84,936,43,4\n"12344",2020-12-20,21.43,173,44,4\n"12345",2020-12-21,20.34,637,45,4\n"12346",2020-12-02,22,278,46,4\n"12347",2020-12-20,21.27,355,47,4\n"12348",2020-12-15,20.86,385,48,4\n"12349",2020-12-17,20.63,850,49,4\n"12350",2020-12-21,21.52,341,50,4\n"12351",2020-12-02,21.03,174,51,4\n"12352",2020-12-10,20.2,302,52,4\n"12353",2020-12-07,22.37,355,53,4\n"12354",2020-12-23,20.4,391,54,4\n"12355",2020-12-15,21.67,535,55,4\n"12356",2020-12-04,22.48,429,56,4\n"12357",2020-12-19,21.93,242,57,4\n"12358",2020-12-03,21.1,244,58,4\n"12359",2020-12-16,21.75,200,59,4\n"12360",2020-12-21,20.71,274,60,4\n"12361",2020-12-17,20.33,290,61,4\n"12362",2020-12-25,21.36,406,62,4\n"12363",2020-12-19,20.65,108,63,4\n"12364",2020-12-22,21.5,275,64,4\n"12365",2020-12-25,20.14,153,65,4\n"12366",2020-12-29,21.11,359,66,4\n"12367",2020-12-15,20.66,457,67,4\n"12368",2020-12-11,21.67,196,68,4\n"12369",2020-12-14,21.05,449,69,4\n"12370",2020-12-27,20.34,253,70,4\n"12371",2020-12-30,22.11,213,71,4\n"12372",2020-12-01,21.02,313,72,4\n"12373",2020-12-10,19.98,208,73,4\n"12374",2020-12-31,21.06,621,74,4\n"12375",2020-12-26,21.32,248,75,4\n"12376",2020-12-25,21.11,216,76,4\n"12377",2020-12-22,20.75,190,77,4\n"12378",2020-12-09,20.98,218,78,4\n"12379",2020-12-21,20.93,318,79,4\n"12380",2020-12-16,20.71,411,80,4\n"12381",2020-12-14,22.77,295,81,4\n"12382",2020-12-18,21.47,279,82,4\n"12383",2020-12-30,21.37,210,83,4\n"12384",2020-12-17,20.45,182,84,4\n"12385",2020-12-14,21.38,541,85,4\n"12386",2020-12-22,21.53,466,86,4\n"12387",2020-12-15,19.67,179,87,4\n"12388",2020-12-02,21.62,245,88,4\n"12389",2020-12-02,23,788,89,4\n"12390",2020-12-26,21.65,335,90,4\n"12391",2020-12-31,19.73,533,91,4\n"12392",2020-12-26,21.7,509,92,4\n"12393",2020-12-24,20.37,202,93,4\n"12394",2020-12-13,21.53,1103,94,4\n"12395",2020-12-24,21.48,194,95,4\n"12396",2020-12-23,21.71,176,96,4\n"12397",2020-12-23,22.2,506,97,4\n"12398",2020-12-10,21.49,509,98,4\n"12399",2020-12-06,22.52,319,99,4\n"12400",2020-12-12,20.87,110,100,4\n"12401",2020-12-02,21.33,316,1,5\n"12402",2020-12-23,22.28,570,2,5\n"12403",2020-12-15,21.7,747,3,5\n"12404",2020-12-16,22.04,315,4,5\n"12405",2020-12-10,21.72,325,5,5\n"12406",2020-12-03,21.79,191,6,5\n"12407",2020-12-21,19.95,737,7,5\n"12408",2020-12-28,21.12,573,8,5\n"12409",2020-12-15,21.58,362,9,5\n"12410",2020-12-11,22.38,202,10,5\n"12411",2020-12-05,21.07,668,11,5\n"12412",2020-12-03,20.94,614,12,5\n"12413",2020-12-20,20.29,100,13,5\n"12414",2020-12-26,20.82,155,14,5\n"12415",2020-12-30,21.41,1074,15,5\n"12416",2020-12-06,21.69,811,16,5\n"12417",2020-12-27,21.57,605,17,5\n"12418",2020-12-24,21.55,199,18,5\n"12419",2020-12-28,21.74,1089,19,5\n"12420",2020-12-22,20.81,266,20,5\n"12421",2020-12-02,20.65,228,21,5\n"12422",2020-12-26,21.19,648,22,5\n"12423",2020-12-12,22.68,293,23,5\n"12424",2020-12-24,21,272,24,5\n"12425",2020-12-17,21.03,435,25,5\n"12426",2020-12-19,22.16,227,26,5\n"12427",2020-12-30,20.83,242,27,5\n"12428",2020-12-08,20.67,580,28,5\n"12429",2020-12-24,20.66,512,29,5\n"12430",2020-12-01,21.21,443,30,5\n"12431",2020-12-06,22.3,264,31,5\n"12432",2020-12-25,20.79,203,32,5\n"12433",2020-12-20,21.13,574,33,5\n"12434",2020-12-15,22.51,215,34,5\n"12435",2020-12-02,21.51,447,35,5\n"12436",2020-12-04,21.47,224,36,5\n"12437",2020-12-09,20.31,141,37,5\n"12438",2020-12-29,21.07,238,38,5\n"12439",2020-12-29,21.83,931,39,5\n"12440",2020-12-13,20.79,214,40,5\n"12441",2020-12-17,22.5,1140,41,5\n"12442",2020-12-27,21.65,356,42,5\n"12443",2020-12-20,21.42,526,43,5\n"12444",2020-12-20,20.51,256,44,5\n"12445",2020-12-21,21.67,461,45,5\n"12446",2020-12-02,21.57,142,46,5\n"12447",2020-12-20,20.76,571,47,5\n"12448",2020-12-15,21.02,179,48,5\n"12449",2020-12-17,21.97,282,49,5\n"12450",2020-12-21,20.82,303,50,5\n"12451",2020-12-02,22.14,83,51,5\n"12452",2020-12-10,22.18,225,52,5\n"12453",2020-12-07,22.17,182,53,5\n"12454",2020-12-23,21,174,54,5\n"12455",2020-12-15,21.86,471,55,5\n"12456",2020-12-04,21.57,258,56,5\n"12457",2020-12-19,21.18,1480,57,5\n"12458",2020-12-03,20.7,494,58,5\n"12459",2020-12-16,20.31,679,59,5\n"12460",2020-12-21,21.31,494,60,5\n"12461",2020-12-17,21.11,382,61,5\n"12462",2020-12-25,20.08,557,62,5\n"12463",2020-12-19,21.65,174,63,5\n"12464",2020-12-22,21.19,280,64,5\n"12465",2020-12-25,21.17,317,65,5\n"12466",2020-12-29,22.01,448,66,5\n"12467",2020-12-15,20.96,104,67,5\n"12468",2020-12-11,21.51,540,68,5\n"12469",2020-12-14,21.31,662,69,5\n"12470",2020-12-27,21.15,251,70,5\n"12471",2020-12-30,21.92,743,71,5\n"12472",2020-12-01,21.22,424,72,5\n"12473",2020-12-10,20.21,325,73,5\n"12474",2020-12-31,21.22,525,74,5\n"12475",2020-12-26,20.55,202,75,5\n"12476",2020-12-25,20.35,283,76,5\n"12477",2020-12-22,21.26,237,77,5\n"12478",2020-12-09,21.99,313,78,5\n"12479",2020-12-21,22.17,396,79,5\n"12480",2020-12-16,22.93,225,80,5\n"12481",2020-12-14,22.15,887,81,5\n"12482",2020-12-18,21.36,326,82,5\n"12483",2020-12-30,21.17,317,83,5\n"12484",2020-12-17,21.24,622,84,5\n"12485",2020-12-14,20.95,373,85,5\n"12486",2020-12-22,22.16,650,86,5\n"12487",2020-12-15,20.89,164,87,5\n"12488",2020-12-02,21.76,247,88,5\n"12489",2020-12-02,20.34,256,89,5\n"12490",2020-12-26,20.53,304,90,5\n"12491",2020-12-31,21.53,476,91,5\n"12492",2020-12-26,21.09,318,92,5\n"12493",2020-12-24,21.26,231,93,5\n"12494",2020-12-13,21.44,506,94,5\n"12495",2020-12-24,21.09,456,95,5\n"12496",2020-12-23,20.53,199,96,5\n"12497",2020-12-23,20.09,259,97,5\n"12498",2020-12-10,21.41,219,98,5\n"12499",2020-12-06,22.59,365,99,5\n"12500",2020-12-12,19.63,247,100,5\n"12501",2020-12-02,20.7,383,1,6\n"12502",2020-12-23,21.26,544,2,6\n"12503",2020-12-15,21.35,129,3,6\n"12504",2020-12-16,22.57,188,4,6\n"12505",2020-12-10,20.9,270,5,6\n"12506",2020-12-03,21.57,150,6,6\n"12507",2020-12-21,22.48,367,7,6\n"12508",2020-12-28,20.5,291,8,6\n"12509",2020-12-15,22.44,393,9,6\n"12510",2020-12-11,19.68,262,10,6\n"12511",2020-12-05,21.65,349,11,6\n"12512",2020-12-03,22.13,244,12,6\n"12513",2020-12-20,20.36,415,13,6\n"12514",2020-12-26,20.98,343,14,6\n"12515",2020-12-30,21.23,266,15,6\n"12516",2020-12-06,22.28,157,16,6\n"12517",2020-12-27,20.85,777,17,6\n"12518",2020-12-24,20.62,324,18,6\n"12519",2020-12-28,21.17,414,19,6\n"12520",2020-12-22,22.34,1418,20,6\n"12521",2020-12-02,21.39,353,21,6\n"12522",2020-12-26,21.07,226,22,6\n"12523",2020-12-12,20.84,328,23,6\n"12524",2020-12-24,20.46,405,24,6\n"12525",2020-12-17,20.9,341,25,6\n"12526",2020-12-19,21.03,156,26,6\n"12527",2020-12-30,21.21,410,27,6\n"12528",2020-12-08,21.05,277,28,6\n"12529",2020-12-24,20.93,471,29,6\n"12530",2020-12-01,21.95,172,30,6\n"12531",2020-12-06,21.69,540,31,6\n"12532",2020-12-25,20.98,289,32,6\n"12533",2020-12-20,21.53,242,33,6\n"12534",2020-12-15,21.16,211,34,6\n"12535",2020-12-02,21.29,455,35,6\n"12536",2020-12-04,21.17,330,36,6\n"12537",2020-12-09,22.13,827,37,6\n"12538",2020-12-29,20.09,174,38,6\n"12539",2020-12-29,20.73,664,39,6\n"12540",2020-12-13,20.87,613,40,6\n"12541",2020-12-17,20.26,320,41,6\n"12542",2020-12-27,21.64,526,42,6\n"12543",2020-12-20,20.71,408,43,6\n"12544",2020-12-20,21.15,327,44,6\n"12545",2020-12-21,21.44,556,45,6\n"12546",2020-12-02,21.38,463,46,6\n"12547",2020-12-20,21.95,306,47,6\n"12548",2020-12-15,21.07,256,48,6\n"12549",2020-12-17,20.15,485,49,6\n"12550",2020-12-21,21.48,128,50,6\n"12551",2020-12-02,20.41,425,51,6\n"12552",2020-12-10,21.81,235,52,6\n"12553",2020-12-07,21.34,394,53,6\n"12554",2020-12-23,20.88,375,54,6\n"12555",2020-12-15,20.4,167,55,6\n"12556",2020-12-04,21.19,383,56,6\n"12557",2020-12-19,23.06,641,57,6\n"12558",2020-12-03,21.88,547,58,6\n"12559",2020-12-16,21.73,620,59,6\n"12560",2020-12-21,21.01,1050,60,6\n"12561",2020-12-17,22.15,400,61,6\n"12562",2020-12-25,21.65,388,62,6\n"12563",2020-12-19,20.84,316,63,6\n"12564",2020-12-22,19.8,482,64,6\n"12565",2020-12-25,22.25,138,65,6\n"12566",2020-12-29,20.88,347,66,6\n"12567",2020-12-15,20.88,210,67,6\n"12568",2020-12-11,20.69,845,68,6\n"12569",2020-12-14,20.55,340,69,6\n"12570",2020-12-27,20.51,213,70,6\n"12571",2020-12-30,21.92,98,71,6\n"12572",2020-12-01,21.08,357,72,6\n"12573",2020-12-10,20.81,221,73,6\n"12574",2020-12-31,22.14,130,74,6\n"12575",2020-12-26,21.51,243,75,6\n"12576",2020-12-25,19.99,389,76,6\n"12577",2020-12-22,21.29,366,77,6\n"12578",2020-12-09,20.82,298,78,6\n"12579",2020-12-21,22.25,255,79,6\n"12580",2020-12-16,21.63,338,80,6\n"12581",2020-12-14,23.42,145,81,6\n"12582",2020-12-18,20.42,141,82,6\n"12583",2020-12-30,19.99,177,83,6\n"12584",2020-12-17,20.84,307,84,6\n"12585",2020-12-14,21.94,463,85,6\n"12586",2020-12-22,21.51,240,86,6\n"12587",2020-12-15,21.53,505,87,6\n"12588",2020-12-02,21.14,324,88,6\n"12589",2020-12-02,20.68,575,89,6\n"12590",2020-12-26,22.29,347,90,6\n"12591",2020-12-31,21.43,54,91,6\n"12592",2020-12-26,22.17,349,92,6\n"12593",2020-12-24,22.18,463,93,6\n"12594",2020-12-13,21.23,148,94,6\n"12595",2020-12-24,21.42,210,95,6\n"12596",2020-12-23,20.45,119,96,6\n"12597",2020-12-23,21.37,484,97,6\n"12598",2020-12-10,21.84,615,98,6\n"12599",2020-12-06,19.98,270,99,6\n"12600",2020-12-12,21.87,519,100,6\n"12601",2020-12-02,21.19,264,1,7\n"12602",2020-12-23,23.14,410,2,7\n"12603",2020-12-15,20.59,150,3,7\n"12604",2020-12-16,20.89,265,4,7\n"12605",2020-12-10,21.19,256,5,7\n"12606",2020-12-03,20.83,91,6,7\n"12607",2020-12-21,22.19,826,7,7\n"12608",2020-12-28,21.88,426,8,7\n"12609",2020-12-15,21.95,305,9,7\n"12610",2020-12-11,21.6,272,10,7\n"12611",2020-12-05,20.36,176,11,7\n"12612",2020-12-03,21.66,382,12,7\n"12613",2020-12-20,21.63,797,13,7\n"12614",2020-12-26,21.07,150,14,7\n"12615",2020-12-30,21.65,361,15,7\n"12616",2020-12-06,21.51,336,16,7\n"12617",2020-12-27,22.26,361,17,7\n"12618",2020-12-24,22.31,261,18,7\n"12619",2020-12-28,21.56,224,19,7\n"12620",2020-12-22,21.3,253,20,7\n"12621",2020-12-02,20.72,451,21,7\n"12622",2020-12-26,21.43,646,22,7\n"12623",2020-12-12,21.7,191,23,7\n"12624",2020-12-24,20.92,150,24,7\n"12625",2020-12-17,21.02,562,25,7\n"12626",2020-12-19,22.38,267,26,7\n"12627",2020-12-30,23.19,197,27,7\n"12628",2020-12-08,21.87,187,28,7\n"12629",2020-12-24,21.63,204,29,7\n"12630",2020-12-01,22.12,393,30,7\n"12631",2020-12-06,20.44,72,31,7\n"12632",2020-12-25,20.8,462,32,7\n"12633",2020-12-20,20.22,313,33,7\n"12634",2020-12-15,21.57,178,34,7\n"12635",2020-12-02,21.97,214,35,7\n"12636",2020-12-04,20.99,258,36,7\n"12637",2020-12-09,21.51,658,37,7\n"12638",2020-12-29,22.2,197,38,7\n"12639",2020-12-29,21.33,218,39,7\n"12640",2020-12-13,20.93,249,40,7\n"12641",2020-12-17,22.48,459,41,7\n"12642",2020-12-27,20.73,350,42,7\n"12643",2020-12-20,21.29,168,43,7\n"12644",2020-12-20,21.78,746,44,7\n"12645",2020-12-21,22.46,510,45,7\n"12646",2020-12-02,21.37,1169,46,7\n"12647",2020-12-20,20.98,625,47,7\n"12648",2020-12-15,21.62,121,48,7\n"12649",2020-12-17,20.71,328,49,7\n"12650",2020-12-21,20.93,467,50,7\n"12651",2020-12-02,22.91,141,51,7\n"12652",2020-12-10,20.86,535,52,7\n"12653",2020-12-07,20.04,455,53,7\n"12654",2020-12-23,20,773,54,7\n"12655",2020-12-15,20.93,242,55,7\n"12656",2020-12-04,20.57,196,56,7\n"12657",2020-12-19,21.55,1554,57,7\n"12658",2020-12-03,21.92,532,58,7\n"12659",2020-12-16,20.72,339,59,7\n"12660",2020-12-21,21.31,185,60,7\n"12661",2020-12-17,21.05,284,61,7\n"12662",2020-12-25,21.52,330,62,7\n"12663",2020-12-19,21.11,377,63,7\n"12664",2020-12-22,21.05,398,64,7\n"12665",2020-12-25,21.26,145,65,7\n"12666",2020-12-29,20.69,227,66,7\n"12667",2020-12-15,21.68,250,67,7\n"12668",2020-12-11,21.28,268,68,7\n"12669",2020-12-14,22.67,399,69,7\n"12670",2020-12-27,21.01,254,70,7\n"12671",2020-12-30,22.7,157,71,7\n"12672",2020-12-01,22.43,558,72,7\n"12673",2020-12-10,21.48,386,73,7\n"12674",2020-12-31,21.69,538,74,7\n"12675",2020-12-26,20.84,163,75,7\n"12676",2020-12-25,21.77,452,76,7\n"12677",2020-12-22,21.21,493,77,7\n"12678",2020-12-09,21.76,360,78,7\n"12679",2020-12-21,21.28,165,79,7\n"12680",2020-12-16,21.64,288,80,7\n"12681",2020-12-14,21.36,207,81,7\n"12682",2020-12-18,21.32,681,82,7\n"12683",2020-12-30,21.07,330,83,7\n"12684",2020-12-17,21.32,185,84,7\n"12685",2020-12-14,21.34,143,85,7\n"12686",2020-12-22,21.49,358,86,7\n"12687",2020-12-15,20.11,264,87,7\n"12688",2020-12-02,21.54,540,88,7\n"12689",2020-12-02,20.92,498,89,7\n"12690",2020-12-26,20.54,417,90,7\n"12691",2020-12-31,22.1,249,91,7\n"12692",2020-12-26,21.69,311,92,7\n"12693",2020-12-24,21.37,306,93,7\n"12694",2020-12-13,21.52,358,94,7\n"12695",2020-12-24,21.94,378,95,7\n"12696",2020-12-23,20.59,784,96,7\n"12697",2020-12-23,21.32,759,97,7\n"12698",2020-12-10,20.18,208,98,7\n"12699",2020-12-06,21.19,222,99,7\n"12700",2020-12-12,20.86,260,100,7\n"12701",2020-12-02,21.42,424,1,8\n"12702",2020-12-23,21.04,161,2,8\n"12703",2020-12-15,20.99,475,3,8\n"12704",2020-12-16,22.64,202,4,8\n"12705",2020-12-10,20.94,244,5,8\n"12706",2020-12-03,21.26,444,6,8\n"12707",2020-12-21,20.72,327,7,8\n"12708",2020-12-28,21.44,493,8,8\n"12709",2020-12-15,22.33,347,9,8\n"12710",2020-12-11,20.54,912,10,8\n"12711",2020-12-05,22.11,351,11,8\n"12712",2020-12-03,21.57,437,12,8\n"12713",2020-12-20,21.2,168,13,8\n"12714",2020-12-26,22.58,398,14,8\n"12715",2020-12-30,20.63,154,15,8\n"12716",2020-12-06,21.1,560,16,8\n"12717",2020-12-27,21.35,95,17,8\n"12718",2020-12-24,21.19,479,18,8\n"12719",2020-12-28,21.98,207,19,8\n"12720",2020-12-22,21.46,414,20,8\n"12721",2020-12-02,21.32,391,21,8\n"12722",2020-12-26,20.76,216,22,8\n"12723",2020-12-12,20.69,262,23,8\n"12724",2020-12-24,21.53,499,24,8\n"12725",2020-12-17,21.98,459,25,8\n"12726",2020-12-19,21.04,102,26,8\n"12727",2020-12-30,20.94,151,27,8\n"12728",2020-12-08,20.61,454,28,8\n"12729",2020-12-24,20.27,338,29,8\n"12730",2020-12-01,20.45,291,30,8\n"12731",2020-12-06,21.48,410,31,8\n"12732",2020-12-25,21.22,167,32,8\n"12733",2020-12-20,20.26,298,33,8\n"12734",2020-12-15,21.38,172,34,8\n"12735",2020-12-02,21.5,295,35,8\n"12736",2020-12-04,20.57,362,36,8\n"12737",2020-12-09,21.94,427,37,8\n"12738",2020-12-29,21.71,237,38,8\n"12739",2020-12-29,21.82,460,39,8\n"12740",2020-12-13,21.92,689,40,8\n"12741",2020-12-17,20.37,710,41,8\n"12742",2020-12-27,21.29,102,42,8\n"12743",2020-12-20,22.32,724,43,8\n"12744",2020-12-20,20.84,320,44,8\n"12745",2020-12-21,21.95,206,45,8\n"12746",2020-12-02,20.54,355,46,8\n"12747",2020-12-20,20.84,451,47,8\n"12748",2020-12-15,20.59,515,48,8\n"12749",2020-12-17,21.61,431,49,8\n"12750",2020-12-21,20.53,358,50,8\n"12751",2020-12-02,21.7,310,51,8\n"12752",2020-12-10,20.63,691,52,8\n"12753",2020-12-07,20.6,328,53,8\n"12754",2020-12-23,21,431,54,8\n"12755",2020-12-15,22.67,409,55,8\n"12756",2020-12-04,21.8,321,56,8\n"12757",2020-12-19,20.7,294,57,8\n"12758",2020-12-03,20.74,297,58,8\n"12759",2020-12-16,21.39,478,59,8\n"12760",2020-12-21,21.08,490,60,8\n"12761",2020-12-17,20.67,276,61,8\n"12762",2020-12-25,20.93,303,62,8\n"12763",2020-12-19,21.79,1016,63,8\n"12764",2020-12-22,21.37,1002,64,8\n"12765",2020-12-25,21.89,610,65,8\n"12766",2020-12-29,22.19,240,66,8\n"12767",2020-12-15,20.44,241,67,8\n"12768",2020-12-11,22.97,188,68,8\n"12769",2020-12-14,21.82,420,69,8\n"12770",2020-12-27,20.29,724,70,8\n"12771",2020-12-30,20.92,533,71,8\n"12772",2020-12-01,21.58,398,72,8\n"12773",2020-12-10,21.62,429,73,8\n"12774",2020-12-31,21.29,229,74,8\n"12775",2020-12-26,20.61,296,75,8\n"12776",2020-12-25,21.72,375,76,8\n"12777",2020-12-22,21.14,455,77,8\n"12778",2020-12-09,21.23,369,78,8\n"12779",2020-12-21,21.85,254,79,8\n"12780",2020-12-16,20.73,407,80,8\n"12781",2020-12-14,21.65,251,81,8\n"12782",2020-12-18,22.12,396,82,8\n"12783",2020-12-30,21.9,616,83,8\n"12784",2020-12-17,21.76,331,84,8\n"12785",2020-12-14,21.62,261,85,8\n"12786",2020-12-22,21.55,253,86,8\n"12787",2020-12-15,21.44,202,87,8\n"12788",2020-12-02,22.53,297,88,8\n"12789",2020-12-02,22.63,1135,89,8\n"12790",2020-12-26,21.32,452,90,8\n"12791",2020-12-31,21.31,361,91,8\n"12792",2020-12-26,21.76,461,92,8\n"12793",2020-12-24,21.31,546,93,8\n"12794",2020-12-13,21.95,157,94,8\n"12795",2020-12-24,22.32,582,95,8\n"12796",2020-12-23,22.06,148,96,8\n"12797",2020-12-23,21.65,164,97,8\n"12798",2020-12-10,22.03,430,98,8\n"12799",2020-12-06,20.93,144,99,8\n"12800",2020-12-12,21.93,199,100,8\n"12801",2020-12-02,22.09,212,1,9\n"12802",2020-12-23,21.16,261,2,9\n"12803",2020-12-15,21.05,322,3,9\n"12804",2020-12-16,22.07,269,4,9\n"12805",2020-12-10,21.44,432,5,9\n"12806",2020-12-03,22.29,418,6,9\n"12807",2020-12-21,21.73,881,7,9\n"12808",2020-12-28,19.27,469,8,9\n"12809",2020-12-15,21.63,445,9,9\n"12810",2020-12-11,20.92,274,10,9\n"12811",2020-12-05,20.67,162,11,9\n"12812",2020-12-03,21.33,630,12,9\n"12813",2020-12-20,21.1,308,13,9\n"12814",2020-12-26,20.75,841,14,9\n"12815",2020-12-30,19.91,500,15,9\n"12816",2020-12-06,20.79,368,16,9\n"12817",2020-12-27,21.52,505,17,9\n"12818",2020-12-24,22.24,260,18,9\n"12819",2020-12-28,21.06,239,19,9\n"12820",2020-12-22,21.72,635,20,9\n"12821",2020-12-02,21.08,222,21,9\n"12822",2020-12-26,20.54,249,22,9\n"12823",2020-12-12,21.74,160,23,9\n"12824",2020-12-24,21.42,400,24,9\n"12825",2020-12-17,21.35,337,25,9\n"12826",2020-12-19,20.55,473,26,9\n"12827",2020-12-30,21.2,398,27,9\n"12828",2020-12-08,22.54,347,28,9\n"12829",2020-12-24,21.15,257,29,9\n"12830",2020-12-01,21.26,491,30,9\n"12831",2020-12-06,21.55,806,31,9\n"12832",2020-12-25,21.46,608,32,9\n"12833",2020-12-20,20.47,220,33,9\n"12834",2020-12-15,20.68,213,34,9\n"12835",2020-12-02,21.34,403,35,9\n"12836",2020-12-04,21.04,506,36,9\n"12837",2020-12-09,20.34,299,37,9\n"12838",2020-12-29,20.93,488,38,9\n"12839",2020-12-29,20.05,454,39,9\n"12840",2020-12-13,22.05,614,40,9\n"12841",2020-12-17,20.05,330,41,9\n"12842",2020-12-27,22.33,504,42,9\n"12843",2020-12-20,21.66,451,43,9\n"12844",2020-12-20,21.81,338,44,9\n"12845",2020-12-21,21.26,207,45,9\n"12846",2020-12-02,21.3,249,46,9\n"12847",2020-12-20,20.19,1083,47,9\n"12848",2020-12-15,21.02,192,48,9\n"12849",2020-12-17,21.67,330,49,9\n"12850",2020-12-21,21.05,308,50,9\n"12851",2020-12-02,20.81,162,51,9\n"12852",2020-12-10,20.07,369,52,9\n"12853",2020-12-07,21.57,800,53,9\n"12854",2020-12-23,20.44,394,54,9\n"12855",2020-12-15,21.43,407,55,9\n"12856",2020-12-04,21.44,483,56,9\n"12857",2020-12-19,21.35,201,57,9\n"12858",2020-12-03,20.67,338,58,9\n"12859",2020-12-16,21.04,493,59,9\n"12860",2020-12-21,19.58,229,60,9\n"12861",2020-12-17,19.96,224,61,9\n"12862",2020-12-25,21.19,280,62,9\n"12863",2020-12-19,21.23,442,63,9\n"12864",2020-12-22,20.84,639,64,9\n"12865",2020-12-25,20.59,307,65,9\n"12866",2020-12-29,23.07,188,66,9\n"12867",2020-12-15,22.37,194,67,9\n"12868",2020-12-11,21.8,153,68,9\n"12869",2020-12-14,20.61,171,69,9\n"12870",2020-12-27,21.58,144,70,9\n"12871",2020-12-30,21.01,294,71,9\n"12872",2020-12-01,20.52,159,72,9\n"12873",2020-12-10,21.27,169,73,9\n"12874",2020-12-31,21.51,268,74,9\n"12875",2020-12-26,21.09,362,75,9\n"12876",2020-12-25,21.51,384,76,9\n"12877",2020-12-22,19.97,344,77,9\n"12878",2020-12-09,21.03,465,78,9\n"12879",2020-12-21,23.12,155,79,9\n"12880",2020-12-16,21.88,321,80,9\n"12881",2020-12-14,20.67,383,81,9\n"12882",2020-12-18,20.78,837,82,9\n"12883",2020-12-30,22.04,474,83,9\n"12884",2020-12-17,20.8,689,84,9\n"12885",2020-12-14,21.76,180,85,9\n"12886",2020-12-22,20.92,249,86,9\n"12887",2020-12-15,20.36,245,87,9\n"12888",2020-12-02,21.54,359,88,9\n"12889",2020-12-02,21.48,242,89,9\n"12890",2020-12-26,20.91,785,90,9\n"12891",2020-12-31,20.46,184,91,9\n"12892",2020-12-26,20.29,566,92,9\n"12893",2020-12-24,19.89,730,93,9\n"12894",2020-12-13,21.59,460,94,9\n"12895",2020-12-24,21.11,447,95,9\n"12896",2020-12-23,21.85,320,96,9\n"12897",2020-12-23,21.45,452,97,9\n"12898",2020-12-10,20.61,391,98,9\n"12899",2020-12-06,22.27,384,99,9\n"12900",2020-12-12,22.08,264,100,9\n"12901",2020-12-02,21.83,255,1,10\n"12902",2020-12-23,21.66,302,2,10\n"12903",2020-12-15,21.68,862,3,10\n"12904",2020-12-16,21.95,348,4,10\n"12905",2020-12-10,20.8,402,5,10\n"12906",2020-12-03,20.4,142,6,10\n"12907",2020-12-21,20.67,354,7,10\n"12908",2020-12-28,21.12,269,8,10\n"12909",2020-12-15,20.94,529,9,10\n"12910",2020-12-11,19.82,571,10,10\n"12911",2020-12-05,20.1,120,11,10\n"12912",2020-12-03,20.58,149,12,10\n"12913",2020-12-20,22.17,397,13,10\n"12914",2020-12-26,20.86,257,14,10\n"12915",2020-12-30,21.73,576,15,10\n"12916",2020-12-06,20.05,202,16,10\n"12917",2020-12-27,21.92,360,17,10\n"12918",2020-12-24,21.48,227,18,10\n"12919",2020-12-28,22.05,259,19,10\n"12920",2020-12-22,20.8,545,20,10\n"12921",2020-12-02,20.45,216,21,10\n"12922",2020-12-26,21.13,348,22,10\n"12923",2020-12-12,19.96,186,23,10\n"12924",2020-12-24,20.87,708,24,10\n"12925",2020-12-17,19.98,163,25,10\n"12926",2020-12-19,21.67,317,26,10\n"12927",2020-12-30,21.26,166,27,10\n"12928",2020-12-08,21.03,130,28,10\n"12929",2020-12-24,21,435,29,10\n"12930",2020-12-01,20.48,198,30,10\n"12931",2020-12-06,21.59,287,31,10\n"12932",2020-12-25,21.47,111,32,10\n"12933",2020-12-20,21.36,573,33,10\n"12934",2020-12-15,20.64,360,34,10\n"12935",2020-12-02,21.2,246,35,10\n"12936",2020-12-04,21.07,288,36,10\n"12937",2020-12-09,20.24,225,37,10\n"12938",2020-12-29,20.86,401,38,10\n"12939",2020-12-29,22.49,620,39,10\n"12940",2020-12-13,21.95,330,40,10\n"12941",2020-12-17,21.23,202,41,10\n"12942",2020-12-27,21.35,462,42,10\n"12943",2020-12-20,21.46,329,43,10\n"12944",2020-12-20,21.44,307,44,10\n"12945",2020-12-21,21.14,182,45,10\n"12946",2020-12-02,21.41,871,46,10\n"12947",2020-12-20,21.83,506,47,10\n"12948",2020-12-15,21.75,315,48,10\n"12949",2020-12-17,22.65,350,49,10\n"12950",2020-12-21,20.95,480,50,10\n"12951",2020-12-02,21.4,287,51,10\n"12952",2020-12-10,21.63,320,52,10\n"12953",2020-12-07,22.18,180,53,10\n"12954",2020-12-23,22.07,164,54,10\n"12955",2020-12-15,21.49,215,55,10\n"12956",2020-12-04,21.31,196,56,10\n"12957",2020-12-19,21.3,359,57,10\n"12958",2020-12-03,21.6,181,58,10\n"12959",2020-12-16,21.65,179,59,10\n"12960",2020-12-21,21.44,171,60,10\n"12961",2020-12-17,20.75,266,61,10\n"12962",2020-12-25,21.19,194,62,10\n"12963",2020-12-19,21.04,575,63,10\n"12964",2020-12-22,20.89,510,64,10\n"12965",2020-12-25,21.09,329,65,10\n"12966",2020-12-29,21.29,340,66,10\n"12967",2020-12-15,21.25,456,67,10\n"12968",2020-12-11,22.21,311,68,10\n"12969",2020-12-14,19.69,528,69,10\n"12970",2020-12-27,22.44,413,70,10\n"12971",2020-12-30,19.85,201,71,10\n"12972",2020-12-01,20.32,313,72,10\n"12973",2020-12-10,21.04,243,73,10\n"12974",2020-12-31,21.47,380,74,10\n"12975",2020-12-26,21.2,868,75,10\n"12976",2020-12-25,20.56,458,76,10\n"12977",2020-12-22,22.04,650,77,10\n"12978",2020-12-09,20.68,324,78,10\n"12979",2020-12-21,20.86,385,79,10\n"12980",2020-12-16,22.09,112,80,10\n"12981",2020-12-14,21.2,253,81,10\n"12982",2020-12-18,20.87,536,82,10\n"12983",2020-12-30,21.78,394,83,10\n"12984",2020-12-17,21.75,456,84,10\n"12985",2020-12-14,21.92,290,85,10\n"12986",2020-12-22,20.45,346,86,10\n"12987",2020-12-15,22.29,209,87,10\n"12988",2020-12-02,20.81,142,88,10\n"12989",2020-12-02,22.17,139,89,10\n"12990",2020-12-26,21.9,233,90,10\n"12991",2020-12-31,20.77,227,91,10\n"12992",2020-12-26,21.21,430,92,10\n"12993",2020-12-24,21.78,380,93,10\n"12994",2020-12-13,21.3,176,94,10\n"12995",2020-12-24,21.17,188,95,10\n"12996",2020-12-23,22.39,352,96,10\n"12997",2020-12-23,21.47,270,97,10\n"12998",2020-12-10,22.32,717,98,10\n"12999",2020-12-06,21.27,282,99,10\n"13000",2020-12-12,21.17,299,100,10\n'
bny.read()
'//łotwa\n//wstęp (co będe robil, na jakich danych, jakie zjawisko analizuje)\n//opis bazy danych (+statystyki opisowe)\n//wstawic pierwszy i ostatni model (bez pośrednich)\n\n\n//teoria logitu\n//zawrzeć wzór (logit) w opisie\n//pokazac zaleznosc\n//pamietac o hipotezach badawczych (maja byc i mozna je opisac ewentualnie)\n//wyniki:\n//opisanie tabel\n\n//sformułuj wnioski\n//co zostalo zrobione i po co, i co z hipotezami, co nas zaskoczylo, co można zrobić więcej\n\n//propozycja rozwinięcia badania\n\n//nie używaj procentów (bo 1% procent to źle, o 1p% jak już, ale lepiej o 0.01)\n\n//nie używać:\n//wyrzucona -> pominięta\n\n//model nie jest wyjaśniony, zjawisko jest\n\n\nprzykład:\ngen bin_trust_part = 0\nreplace bin_trust_part = 1 if trust_parties==3\n\n\nkod:\n\n\ntab neighbours_immigrants\ntab neighbours_homosexuals\ntab trust_foreigners\n\n\ndescribe\nsummarize age\nhistogram age\n\n\n\n\ngen bin_trust_neighbourhood = 0\nreplace bin_trust_neighbourhood = 1 if trust_neighbourhood == 3\ntab bin_trust_neighbourhood\n\ngen bin_trust_first = 1\nreplace bin_trust_first = 0 if trust_first == 1\ntab bin_trust_first\n\nsummarize tv_time\ntab life_satisfaction\ntab afford_vacation\ntab rural\ntab edu_higher\ntab neighbours_race\n\n\nprobit neighbours_race neighbours_immigrants neighbours_homosexuals bin_trust_foreigners bin_trust_first bin_trust_neighbourhood bin_trust_general internet tv_time life_satisfaction afford_vacation rural edu_higher age female\n//trust_first, trust_neighbourhood, trust_general, internet, tv_time, afford_vacation, rural, edu_higher, female\n\n//badanie korelacji między zmiennymi objaśniającymi (bin_trust_foreigners oraz bin_trust_general z bin_trust_first wysoce skorelowane, a także internet i afford_vacation powyżej 0,25)\npwcorr neighbours_immigrants neighbours_homosexuals bin_trust_foreigners bin_trust_first bin_trust_neighbourhood bin_trust_general internet tv_time life_satisfaction afford_vacation rural edu_higher\n\n\nprobit neighbours_race bin_trust_first\nprobit neighbours_race afford_vacation\n\n//pierwszy probit\nprobit neighbours_race bin_trust_first bin_trust_neighbourhood tv_time life_satisfaction afford_vacation rural edu_higher age\n\n//wyrzucam bin_trust_neighbourhood, tv_time, edu_higher\nprobit neighbours_race bin_trust_first life_satisfaction afford_vacation rural age\n\n\n//wyrzucam rural lub afford_vacation\nprobit neighbours_race rural\nprobit neighbours_race afford_vacation\n\n//wyrzucam rural\nprobit neighbours_race bin_trust_first life_satisfaction afford_vacation age\n\n//p-value poniżej 0.05\nprobit neighbours_race bin_trust_first life_satisfaction age\n\n\n\nprobit neighbours_race internet\nprobit neighbours_race edu_higher\n\n\n\n\n//fitstat\nfitstat\n\nmargins\nmargins, dydx(*)\n\n\n\n\n//wszystko klasyfikuje jako minus\nlstat\nlroc\n\n//próg odcięcia na poziomie 0.16, bo 0.16 powinno byc klasyfikowane jako +\ntab neighbours_race\nlstat, cutoff (0.16)\n\n//lepszy próg odcięcia\nlstat, cutoff(0.2)\nlroc\n\n//http://www.ekonometria.wne.uw.edu.pl/uploads/Main/zmienne_binarne.pdf\n\n\n'
with open("C:\\Users\\igors\\Downloads\\łotwa.txt", encoding="UTF-8") as bny:
print(bny.read().splitlines()[:10])
['//łotwa', '//wstęp (co będe robil, na jakich danych, jakie zjawisko analizuje)', '//opis bazy danych (+statystyki opisowe)', '//wstawic pierwszy i ostatni model (bez pośrednich)', '', '', '//teoria logitu', '//zawrzeć wzór (logit) w opisie', '//pokazac zaleznosc', '//pamietac o hipotezach badawczych (maja byc i mozna je opisac ewentualnie)']
with open("C:\\Users\\igors\\Downloads\\łotwa.txt", encoding="UTF-8") as bny:
print(bny.readline(), bny.readline(), bny.readline(), sep="x")
//łotwa x//wstęp (co będe robil, na jakich danych, jakie zjawisko analizuje) x//opis bazy danych (+statystyki opisowe)
f = open("C:\\Users\\igors\\Downloads\\testowy.txt","w")
f.write("To plik tekstowy testowy z pythona 21-07-2022. /n fajnie \n co")
61
f.write("i jeszcze to")
12
f.close()
f= open("C:\\Users\\igors\\Downloads\\testowy.txt","w")
f.writelines(["I jeszcze tutaj metodą writelines \n żeby było fajnie", "oraz 2 linia", "\n i trzecia"])
f.close()
x = [
range(3),
(None, "A", 3, 4.0)
]
with open("C:\\Users\\igors\\Downloads\\testowy2.txt","wb") as j:
pickle.dump(x,j)
excele = os.path.join(os.getcwd(),"Downloads","*.xlsx")
glob.glob(excele)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/3635577889.py in <module> ----> 1 excele = os.path.join(os.getcwd(),"Downloads","*.xlsx") 2 glob.glob(excele) NameError: name 'os' is not defined
pd.read_excel("C:\\Users\\igors\\Downloads\\supermarket.xlsx").head()
| LP | JED | waga | NAZWA | KAUFLAND | KOREKTY01 | KOREKTY02 | KOREKTY03 | komentarz 03_2020 | UPROCENT | ZRODLO | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | NaN | NaN | 0.08 | RYŻ | ? | 100.899158 | 100.507519 | NaN | NaN | NaN | NaN |
| 1 | 1.0 | 1kg | NaN | Ryż biały | NaN | 100.816387 | 99.713820 | NaN | braki | NaN | A |
| 2 | 2.0 | 400g | NaN | Ryż długoziarnisty, w torebkach do gotowania, ... | NaN | 100.981996 | 101.307536 | NaN | braki | NaN | A |
| 3 | NaN | NaN | 0.10 | MĄKA PSZENNA | NaN | 101.568668 | 100.750199 | NaN | NaN | NaN | NaN |
| 4 | 3.0 | 1kg | NaN | Mąka pszenna "Poznańska" | NaN | 102.005068 | 101.177074 | NaN | braki | NaN | A |
x = np.random.random(8).reshape(2,4)
x
array([[0.59187528, 0.77538081, 0.1168718 , 0.03339043],
[0.71644141, 0.45698376, 0.55700161, 0.71074503]])
np.savetxt(os.path.join(os.getcwd(),"Downloads","testowyzapis.txt"),x)
with open(os.path.join(os.getcwd(),"Downloads","testowyzapis.txt")) as test:
print(test.read())
5.918752823667952079e-01 7.753808110014438482e-01 1.168717959393731354e-01 3.339042651644341664e-02 7.164414119543410786e-01 4.569837578043514092e-01 5.570016116452168875e-01 7.107450341693631879e-01
np.loadtxt(os.path.join(os.getcwd(),"Downloads","testowyzapis.txt"))
array([[0.59187528, 0.77538081, 0.1168718 , 0.03339043],
[0.71644141, 0.45698376, 0.55700161, 0.71074503]])
urllib.request.URLopener().retrieve(
"https://raw.githubusercontent.com/gagolews/Analiza_danych_w_jezyku_Python/master/zbiory_danych/iris.data.gz",
os.path.join(os.getcwd(),"Downloads","iris.data.gz")
)
('C:\\Users\\igors\\Downloads\\iris.data.gz',
<http.client.HTTPMessage at 0x1ccd2e6f9a0>)
np.loadtxt(os.path.join(os.getcwd(),"Downloads","iris.data.gz"))
array([[5.1, 3.5, 1.4, 0.2],
[4.9, 3. , 1.4, 0.2],
[4.7, 3.2, 1.3, 0.2],
[4.6, 3.1, 1.5, 0.2],
[5. , 3.6, 1.4, 0.2],
[5.4, 3.9, 1.7, 0.4],
[4.6, 3.4, 1.4, 0.3],
[5. , 3.4, 1.5, 0.2],
[4.4, 2.9, 1.4, 0.2],
[4.9, 3.1, 1.5, 0.1],
[5.4, 3.7, 1.5, 0.2],
[4.8, 3.4, 1.6, 0.2],
[4.8, 3. , 1.4, 0.1],
[4.3, 3. , 1.1, 0.1],
[5.8, 4. , 1.2, 0.2],
[5.7, 4.4, 1.5, 0.4],
[5.4, 3.9, 1.3, 0.4],
[5.1, 3.5, 1.4, 0.3],
[5.7, 3.8, 1.7, 0.3],
[5.1, 3.8, 1.5, 0.3],
[5.4, 3.4, 1.7, 0.2],
[5.1, 3.7, 1.5, 0.4],
[4.6, 3.6, 1. , 0.2],
[5.1, 3.3, 1.7, 0.5],
[4.8, 3.4, 1.9, 0.2],
[5. , 3. , 1.6, 0.2],
[5. , 3.4, 1.6, 0.4],
[5.2, 3.5, 1.5, 0.2],
[5.2, 3.4, 1.4, 0.2],
[4.7, 3.2, 1.6, 0.2],
[4.8, 3.1, 1.6, 0.2],
[5.4, 3.4, 1.5, 0.4],
[5.2, 4.1, 1.5, 0.1],
[5.5, 4.2, 1.4, 0.2],
[4.9, 3.1, 1.5, 0.2],
[5. , 3.2, 1.2, 0.2],
[5.5, 3.5, 1.3, 0.2],
[4.9, 3.6, 1.4, 0.1],
[4.4, 3. , 1.3, 0.2],
[5.1, 3.4, 1.5, 0.2],
[5. , 3.5, 1.3, 0.3],
[4.5, 2.3, 1.3, 0.3],
[4.4, 3.2, 1.3, 0.2],
[5. , 3.5, 1.6, 0.6],
[5.1, 3.8, 1.9, 0.4],
[4.8, 3. , 1.4, 0.3],
[5.1, 3.8, 1.6, 0.2],
[4.6, 3.2, 1.4, 0.2],
[5.3, 3.7, 1.5, 0.2],
[5. , 3.3, 1.4, 0.2],
[7. , 3.2, 4.7, 1.4],
[6.4, 3.2, 4.5, 1.5],
[6.9, 3.1, 4.9, 1.5],
[5.5, 2.3, 4. , 1.3],
[6.5, 2.8, 4.6, 1.5],
[5.7, 2.8, 4.5, 1.3],
[6.3, 3.3, 4.7, 1.6],
[4.9, 2.4, 3.3, 1. ],
[6.6, 2.9, 4.6, 1.3],
[5.2, 2.7, 3.9, 1.4],
[5. , 2. , 3.5, 1. ],
[5.9, 3. , 4.2, 1.5],
[6. , 2.2, 4. , 1. ],
[6.1, 2.9, 4.7, 1.4],
[5.6, 2.9, 3.6, 1.3],
[6.7, 3.1, 4.4, 1.4],
[5.6, 3. , 4.5, 1.5],
[5.8, 2.7, 4.1, 1. ],
[6.2, 2.2, 4.5, 1.5],
[5.6, 2.5, 3.9, 1.1],
[5.9, 3.2, 4.8, 1.8],
[6.1, 2.8, 4. , 1.3],
[6.3, 2.5, 4.9, 1.5],
[6.1, 2.8, 4.7, 1.2],
[6.4, 2.9, 4.3, 1.3],
[6.6, 3. , 4.4, 1.4],
[6.8, 2.8, 4.8, 1.4],
[6.7, 3. , 5. , 1.7],
[6. , 2.9, 4.5, 1.5],
[5.7, 2.6, 3.5, 1. ],
[5.5, 2.4, 3.8, 1.1],
[5.5, 2.4, 3.7, 1. ],
[5.8, 2.7, 3.9, 1.2],
[6. , 2.7, 5.1, 1.6],
[5.4, 3. , 4.5, 1.5],
[6. , 3.4, 4.5, 1.6],
[6.7, 3.1, 4.7, 1.5],
[6.3, 2.3, 4.4, 1.3],
[5.6, 3. , 4.1, 1.3],
[5.5, 2.5, 4. , 1.3],
[5.5, 2.6, 4.4, 1.2],
[6.1, 3. , 4.6, 1.4],
[5.8, 2.6, 4. , 1.2],
[5. , 2.3, 3.3, 1. ],
[5.6, 2.7, 4.2, 1.3],
[5.7, 3. , 4.2, 1.2],
[5.7, 2.9, 4.2, 1.3],
[6.2, 2.9, 4.3, 1.3],
[5.1, 2.5, 3. , 1.1],
[5.7, 2.8, 4.1, 1.3],
[6.3, 3.3, 6. , 2.5],
[5.8, 2.7, 5.1, 1.9],
[7.1, 3. , 5.9, 2.1],
[6.3, 2.9, 5.6, 1.8],
[6.5, 3. , 5.8, 2.2],
[7.6, 3. , 6.6, 2.1],
[4.9, 2.5, 4.5, 1.7],
[7.3, 2.9, 6.3, 1.8],
[6.7, 2.5, 5.8, 1.8],
[7.2, 3.6, 6.1, 2.5],
[6.5, 3.2, 5.1, 2. ],
[6.4, 2.7, 5.3, 1.9],
[6.8, 3. , 5.5, 2.1],
[5.7, 2.5, 5. , 2. ],
[5.8, 2.8, 5.1, 2.4],
[6.4, 3.2, 5.3, 2.3],
[6.5, 3. , 5.5, 1.8],
[7.7, 3.8, 6.7, 2.2],
[7.7, 2.6, 6.9, 2.3],
[6. , 2.2, 5. , 1.5],
[6.9, 3.2, 5.7, 2.3],
[5.6, 2.8, 4.9, 2. ],
[7.7, 2.8, 6.7, 2. ],
[6.3, 2.7, 4.9, 1.8],
[6.7, 3.3, 5.7, 2.1],
[7.2, 3.2, 6. , 1.8],
[6.2, 2.8, 4.8, 1.8],
[6.1, 3. , 4.9, 1.8],
[6.4, 2.8, 5.6, 2.1],
[7.2, 3. , 5.8, 1.6],
[7.4, 2.8, 6.1, 1.9],
[7.9, 3.8, 6.4, 2. ],
[6.4, 2.8, 5.6, 2.2],
[6.3, 2.8, 5.1, 1.5],
[6.1, 2.6, 5.6, 1.4],
[7.7, 3. , 6.1, 2.3],
[6.3, 3.4, 5.6, 2.4],
[6.4, 3.1, 5.5, 1.8],
[6. , 3. , 4.8, 1.8],
[6.9, 3.1, 5.4, 2.1],
[6.7, 3.1, 5.6, 2.4],
[6.9, 3.1, 5.1, 2.3],
[5.8, 2.7, 5.1, 1.9],
[6.8, 3.2, 5.9, 2.3],
[6.7, 3.3, 5.7, 2.5],
[6.7, 3. , 5.2, 2.3],
[6.3, 2.5, 5. , 1.9],
[6.5, 3. , 5.2, 2. ],
[6.2, 3.4, 5.4, 2.3],
[5.9, 3. , 5.1, 1.8]])
#WEB SCRAPING
tabele = pd.read_html("https://en.wikipedia.org/wiki/Lodz")
len(tabele)
8
klimat = tabele[1]
klimat.iloc[np.r_[0:3,8],:2]
| Climate data for Łódź, elevation: 68 m (223 ft), 1991–2020 normals, extremes 1951–present | ||
|---|---|---|
| Month | Jan | |
| 0 | Record high °C (°F) | 12.8(55.0) |
| 1 | Average high °C (°F) | 1.2(34.2) |
| 2 | Daily mean °C (°F) | −1.5(29.3) |
| 8 | Average snowy days (≥ 0 cm) | 15.3 |
tabele[2]
| Year | Pop. | ±% | |
|---|---|---|---|
| 0 | 1950 | 620273 | — |
| 1 | 1960 | 709698 | +14.4% |
| 2 | 1970 | 762699 | +7.5% |
| 3 | 1980 | 835658 | +9.6% |
| 4 | 1990 | 848258 | +1.5% |
| 5 | 2000 | 798418 | −5.9% |
| 6 | 2010 | 737098 | −7.7% |
| 7 | 2020 | 672185 | −8.8% |
| 8 | source[104] | source[104] | source[104] |
import beautifulsoup4
import pandas as pd
import numpy as np
--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/2654481088.py in <module> ----> 1 import beautifulsoup4 2 import pandas as pd 3 import numpy as np ModuleNotFoundError: No module named 'beautifulsoup4'
tabele[1]
| Climate data for Łódź, elevation: 68 m (223 ft), 1991–2020 normals, extremes 1951–present | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Month | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Year | |
| 0 | Record high °C (°F) | 12.8(55.0) | 17.5(63.5) | 23.8(74.8) | 29.9(85.8) | 32.7(90.9) | 36.3(97.3) | 37.3(99.1) | 37.6(99.7) | 34.7(94.5) | 25.9(78.6) | 19.2(66.6) | 14.9(58.8) | 37.6(99.7) |
| 1 | Average high °C (°F) | 1.2(34.2) | 2.9(37.2) | 7.4(45.3) | 14.4(57.9) | 19.4(66.9) | 22.7(72.9) | 24.9(76.8) | 24.6(76.3) | 19.1(66.4) | 13.0(55.4) | 6.8(44.2) | 2.4(36.3) | 13.2(55.8) |
| 2 | Daily mean °C (°F) | −1.5(29.3) | −0.3(31.5) | 3.1(37.6) | 9.0(48.2) | 13.8(56.8) | 17.1(62.8) | 19.2(66.6) | 18.7(65.7) | 13.7(56.7) | 8.6(47.5) | 3.9(39.0) | 0.0(32.0) | 8.8(47.8) |
| 3 | Average low °C (°F) | −4.0(24.8) | −3.3(26.1) | −0.7(30.7) | 3.6(38.5) | 8.2(46.8) | 11.6(52.9) | 13.6(56.5) | 13.3(55.9) | 9.0(48.2) | 5.0(41.0) | 1.3(34.3) | −2.4(27.7) | 4.6(40.3) |
| 4 | Record low °C (°F) | −31.1(−24.0) | −27.4(−17.3) | −21.9(−7.4) | −8.0(17.6) | −3.6(25.5) | −0.3(31.5) | 4.2(39.6) | 3.3(37.9) | −1.9(28.6) | −9.9(14.2) | −16.8(1.8) | −24.6(−12.3) | −31.1(−24.0) |
| 5 | Average precipitation mm (inches) | 35.3(1.39) | 34.1(1.34) | 37.6(1.48) | 35.2(1.39) | 60.9(2.40) | 62.3(2.45) | 81.1(3.19) | 54.1(2.13) | 53.4(2.10) | 44.0(1.73) | 39.4(1.55) | 40.7(1.60) | 578.1(22.76) |
| 6 | Average extreme snow depth cm (inches) | 6.8(2.7) | 6.6(2.6) | 4.7(1.9) | 1.6(0.6) | 0.0(0.0) | 0.0(0.0) | 0.0(0.0) | 0.0(0.0) | 0.0(0.0) | 0.2(0.1) | 2.2(0.9) | 3.6(1.4) | 6.8(2.7) |
| 7 | Average precipitation days (≥ 0.1 mm) | 17.27 | 14.60 | 14.17 | 11.17 | 13.33 | 13.43 | 13.77 | 11.80 | 11.73 | 13.03 | 14.30 | 16.37 | 164.97 |
| 8 | Average snowy days (≥ 0 cm) | 15.3 | 13.3 | 6.2 | 0.9 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.2 | 3.4 | 8.6 | 47.9 |
| 9 | Average relative humidity (%) | 87.6 | 84.2 | 77.5 | 68.6 | 70.0 | 70.5 | 71.3 | 71.4 | 78.9 | 84.1 | 89.2 | 89.4 | 78.6 |
| 10 | Mean monthly sunshine hours | 48.2 | 65.8 | 122.7 | 187.0 | 241.8 | 244.6 | 250.9 | 243.4 | 160.1 | 111.1 | 51.2 | 40.4 | 1767.3 |
| 11 | Average ultraviolet index | 1 | 1 | 2 | 4 | 6 | 6 | 6 | 6 | 4 | 2 | 1 | 0 | 3 |
| 12 | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... | Source 1: Institute of Meteorology and Water M... |
| 13 | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... | Source 2: Meteomodel.pl (records, relative hum... |
r = requests.get("https://en.wikipedia.org/wiki/Monty_Python's_Flying_Circus")
r.status_code
200
print(r.headers["content-type"])
text/html; charset=UTF-8
textwiki = r.text
textwiki
'<!DOCTYPE html>\n<html class="client-nojs" lang="en" dir="ltr">\n<head>\n<meta charset="UTF-8"/>\n<title>Monty Python\'s Flying Circus - Wikipedia</title>\n<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"74293ece-e9f7-4d83-8d73-9070ebcad8cc","wgCSPNonce":false,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Monty_Python\'s_Flying_Circus","wgTitle":"Monty Python\'s Flying Circus","wgCurRevisionId":1099482818,"wgRevisionId":1099482818,"wgArticleId":23372115,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["All articles with dead YouTube links","Articles with dead YouTube links from February 2022","CS1 maint: uses authors parameter","Harv and Sfn no-target errors","CS1 Danish-language sources (da)","Articles with short description","Short description matches Wikidata"\n,"Use British English from June 2016","Use dmy dates from June 2016","Pages using infobox television with unnecessary name parameter","All articles with unsourced statements","Articles with unsourced statements from January 2019","Articles with unsourced statements from March 2012","Official website different in Wikidata and Wikipedia","IMDb ID same as Wikidata","Articles with VIAF identifiers","Articles with BIBSYS identifiers","Articles with BNE identifiers","Articles with BNF identifiers","Articles with GND identifiers","Articles with J9U identifiers","Articles with LCCN identifiers","Articles with SUDOC identifiers","Articles with WorldCat-VIAF identifiers","Articles with multiple identifiers","1969 British television series debuts","1974 British television series endings","1960s British television sketch shows","1970s British television sketch shows","BBC television sketch shows","BBC black comedy television shows","British satirical television series",\n"English-language television shows","Metafictional television series","Television series about television","Monty Python","Postmodern works","Surreal comedy television series","Self-reflexive television","Television shows adapted into films","Television shows adapted into video games","British television series with live action and animation"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Monty_Python\'s_Flying_Circus","wgRelevantArticleId":23372115,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"nearby":true,"watchlist":true,"tagline":false},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":70000,"wgNoticeProject":"wikipedia","wgMediaViewerOnClick":true,\n"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":10,"wgULSCurrentAutonym":"English","wgEditSubmitButtonLabelPublish":true,"wgCentralAuthMobileDomain":false,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":true,"wgWikibaseItemId":"Q16401","GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.styles.legacy":"ready","jquery.makeCollapsible.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.wikimediaBadges":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.legacy.js","mmv.head",\n"mmv.bootstrap.autostart","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.cx.eventlogging.campaigns","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.charinsert","ext.gadget.extra-toolbar-buttons","ext.gadget.refToolbar","ext.gadget.switcher","ext.centralauth.centralautologin","ext.popups","ext.uls.compactlinks","ext.uls.interface","ext.growthExperiments.SuggestedEditSession"];</script>\n<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\\\","watchToken":"+\\\\","csrfToken":"+\\\\"});});});</script>\n<link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cjquery.makeCollapsible.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&only=styles&skin=vector"/>\n<script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector"></script>\n<meta name="ResourceLoaderDynamicStyles" content=""/>\n<link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector"/>\n<meta name="generator" content="MediaWiki 1.39.0-wmf.21"/>\n<meta name="referrer" content="origin"/>\n<meta name="referrer" content="origin-when-crossorigin"/>\n<meta name="referrer" content="origin-when-cross-origin"/>\n<meta name="format-detection" content="telephone=no"/>\n<meta property="og:image" content="https://upload.wikimedia.org/wikipedia/en/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png"/>\n<meta property="og:image:width" content="1200"/>\n<meta property="og:image:height" content="932"/>\n<meta property="og:image" content="https://upload.wikimedia.org/wikipedia/en/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png"/>\n<meta property="og:image:width" content="800"/>\n<meta property="og:image:height" content="621"/>\n<meta property="og:image:width" content="640"/>\n<meta property="og:image:height" content="497"/>\n<meta name="viewport" content="width=1000"/>\n<meta property="og:title" content="Monty Python's Flying Circus - Wikipedia"/>\n<meta property="og:type" content="website"/>\n<link rel="preconnect" href="//upload.wikimedia.org"/>\n<link rel="alternate" media="only screen and (max-width: 720px)" href="//en.m.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus"/>\n<link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit"/>\n<link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"/>\n<link rel="shortcut icon" href="/static/favicon/wikipedia.ico"/>\n<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikipedia (en)"/>\n<link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"/>\n<link rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/"/>\n<link rel="canonical" href="https://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus"/>\n<link rel="dns-prefetch" href="//meta.wikimedia.org" />\n<link rel="dns-prefetch" href="//login.wikimedia.org"/>\n</head>\n<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Monty_Python_s_Flying_Circus rootpage-Monty_Python_s_Flying_Circus skin-vector action-view skin-vector-legacy"><div id="mw-page-base" class="noprint"></div>\n<div id="mw-head-base" class="noprint"></div>\n<div id="content" class="mw-body" role="main">\n\t<a id="top"></a>\n\t<div id="siteNotice"><!-- CentralNotice --></div>\n\t<div class="mw-indicators">\n\t</div>\n\t<h1 id="firstHeading" class="firstHeading mw-first-heading"><i>Monty Python\'s Flying Circus</i></h1>\n\t<div id="bodyContent" class="vector-body">\n\t\t<div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div>\n\t\t<div id="contentSub"></div>\n\t\t<div id="contentSub2"></div>\n\t\t\n\t\t<div id="jump-to-nav"></div>\n\t\t<a class="mw-jump-link" href="#mw-head">Jump to navigation</a>\n\t\t<a class="mw-jump-link" href="#searchInput">Jump to search</a>\n\t\t<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-parser-output"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">British sketch comedy television series</div>\n<style data-mw-deduplicate="TemplateStyles:r1033289096">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="/wiki/Monty_Python%27s_Flying_Circus_(disambiguation)" class="mw-disambig" title="Monty Python's Flying Circus (disambiguation)">Monty Python\'s Flying Circus (disambiguation)</a>.</div>\n<p class="mw-empty-elt">\n\n</p>\n<style data-mw-deduplicate="TemplateStyles:r1066479718">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}body.skin-minerva .mw-parser-output .infobox-header,body.skin-minerva .mw-parser-output .infobox-subheader,body.skin-minerva .mw-parser-output .infobox-above,body.skin-minerva .mw-parser-output .infobox-title,body.skin-minerva .mw-parser-output .infobox-image,body.skin-minerva .mw-parser-output .infobox-full-data,body.skin-minerva .mw-parser-output .infobox-below{text-align:center}</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above summary" style="background: #CCCCFF; padding: 0.25em 1em; font-size: 125%;"><i>Monty Python\'s Flying Circus</i></th></tr><tr><td colspan="2" class="infobox-image"><a href="/wiki/File:Monty_Python%27s_Flying_Circus_Title_Card.png" class="image"><img alt="Monty Python's Flying Circus Title Card.png" src="//upload.wikimedia.org/wikipedia/en/thumb/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png/250px-Monty_Python%27s_Flying_Circus_Title_Card.png" decoding="async" width="250" height="194" srcset="//upload.wikimedia.org/wikipedia/en/c/cd/Monty_Python%27s_Flying_Circus_Title_Card.png 1.5x" data-file-width="358" data-file-height="278" /></a></td></tr><tr><th scope="row" class="infobox-label">Genre</th><td class="infobox-data category"><a href="/wiki/Sketch_comedy" title="Sketch comedy">Sketch comedy</a><br /><a href="/wiki/Surreal_humour" title="Surreal humour">Surreal comedy</a><br /><a href="/wiki/Satire" title="Satire">Satire</a><br /><a href="/wiki/Black_comedy" title="Black comedy">Black comedy</a></td></tr><tr><th scope="row" class="infobox-label">Created by</th><td class="infobox-data"><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a><br /><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a><br /><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a><br /><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a><br /><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a><br /><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a></td></tr><tr><th scope="row" class="infobox-label">Written by</th><td class="infobox-data"><div class="plainlist">\n<ul><li><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></li>\n<li><a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a></li>\n<li><a href="/wiki/Douglas_Adams" title="Douglas Adams">Douglas Adams</a></li></ul>\n</div></td></tr><tr><th scope="row" class="infobox-label">Directed by</th><td class="infobox-data attendee"><div class="plainlist">\n<ul><li><a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a></li>\n<li><a href="/wiki/John_Howard_Davies" title="John Howard Davies">John Howard Davies</a></li></ul>\n</div></td></tr><tr><th scope="row" class="infobox-label">Starring</th><td class="infobox-data attendee">Graham Chapman<br />John Cleese (series 1–3)<br />Eric Idle<br />Terry Jones<br />Michael Palin<br />Terry Gilliam<br /><a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a></td></tr><tr><th scope="row" class="infobox-label">Opening theme</th><td class="infobox-data">"<a href="/wiki/The_Liberty_Bell_(march)" title="The Liberty Bell (march)">The Liberty Bell</a>" by <a href="/wiki/John_Philip_Sousa" title="John Philip Sousa">John Philip Sousa</a></td></tr><tr><th scope="row" class="infobox-label">Composers</th><td class="infobox-data">Neil Innes<br /><a href="/wiki/Fred_Tomlinson_(singer)" title="Fred Tomlinson (singer)">Fred Tomlinson Singers</a></td></tr><tr><th scope="row" class="infobox-label">Country of origin</th><td class="infobox-data">United Kingdom</td></tr><tr><th scope="row" class="infobox-label"><abbr title="Number">No.</abbr> of series</th><td class="infobox-data">4</td></tr><tr><th scope="row" class="infobox-label"><abbr title="Number">No.</abbr> of episodes</th><td class="infobox-data">45 <span class="nowrap">(<a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes" title="List of Monty Python's Flying Circus episodes">list of episodes</a>)</span></td></tr><tr><th colspan="2" class="infobox-header summary" style="background: #CCCCFF; padding: 0.25em 1em;">Production</th></tr><tr><th scope="row" class="infobox-label">Producers</th><td class="infobox-data">John Howard Davies (series 1)<br /><a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a></td></tr><tr><th scope="row" class="infobox-label">Animator</th><td class="infobox-data">Terry Gilliam</td></tr><tr><th scope="row" class="infobox-label">Running time</th><td class="infobox-data">approx. 25–30 minutes</td></tr><tr><th scope="row" class="infobox-label">Production company</th><td class="infobox-data"><a href="/wiki/Python_(Monty)_Pictures" title="Python (Monty) Pictures">Python (Monty) Pictures</a></td></tr><tr><th colspan="2" class="infobox-header summary" style="background: #CCCCFF; padding: 0.25em 1em;">Release</th></tr><tr><th scope="row" class="infobox-label">Original network</th><td class="infobox-data"><a href="/wiki/BBC_One" title="BBC One">BBC1</a> (1969–1973) <br /><a href="/wiki/BBC_Two" title="BBC Two">BBC2</a> (1974)</td></tr><tr><th scope="row" class="infobox-label">Original release</th><td class="infobox-data">5 October 1969<span style="display:none"> (<span class="bday dtstart published updated">1969-10-05</span>)</span> –<br />5 December 1974<span style="display:none"> (<span class="dtend">1974-12-05</span>)</span></td></tr><tr><th colspan="2" class="infobox-header summary" style="background: #CCCCFF; padding: 0.25em 1em;">Chronology</th></tr><tr><th scope="row" class="infobox-label">Followed by</th><td class="infobox-data"><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i></td></tr></tbody></table>\n<p><i><b>Monty Python\'s Flying Circus</b></i> (also known as simply <i><b>Monty Python</b></i>; sometimes abbreviated <i><b>MPFC</b></i>) is a British <a href="/wiki/Surreal_humour" title="Surreal humour">surreal</a> <a href="/wiki/Sketch_comedy" title="Sketch comedy">sketch comedy</a> series created by and starring <a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a>, <a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a>, <a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a>, <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a>, <a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a> and <a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a>, who became known as "<a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a>", or the "Pythons". The first episode was recorded at the <a href="/wiki/BBC" title="BBC">BBC</a> on 7 September 1969 and premiered on 5 October on <a href="/wiki/BBC1" class="mw-redirect" title="BBC1">BBC1</a>, with 45 episodes airing over four series from 1969 to 1974, plus two episodes for German TV.\n</p><p>The series stands out for its use of <a href="/wiki/Surreal_humour" title="Surreal humour">absurd situations</a>, mixed with risqué and innuendo-laden humour, <a href="/wiki/Visual_gag" title="Visual gag">sight gags</a> and observational sketches without <a href="/wiki/Punch_line" title="Punch line">punchlines</a>. Live action segments were broken up with animations by Gilliam, often merging with the live action to form <a href="/wiki/Segue#In_film_or_broadcast_news_production" title="Segue">segues</a>. The overall format used for the series followed and elaborated upon the style used by <a href="/wiki/Spike_Milligan" title="Spike Milligan">Spike Milligan</a> in his groundbreaking series <i><a href="/wiki/Q..._(TV_series)" title="Q... (TV series)">Q5</a></i>, rather than the traditional sketch show format. The Pythons play the majority of the series characters themselves, along with supporting cast members including <a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a> (referred to by the team as the unofficial "Seventh Python"), <a href="/wiki/Connie_Booth" title="Connie Booth">Connie Booth</a> (Cleese\'s first wife), series producer <a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a>, <a href="/wiki/Ian_Davidson_(scriptwriter)" title="Ian Davidson (scriptwriter)">Ian Davidson</a>, musician <a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a>, and <a href="/wiki/Fred_Tomlinson_(singer)" title="Fred Tomlinson (singer)">Fred Tomlinson</a> and the Fred Tomlinson Singers for musical numbers.<sup id="cite_ref-telegraph_1-0" class="reference"><a href="#cite_note-telegraph-1">[1]</a></sup><sup id="cite_ref-nytimes_2-0" class="reference"><a href="#cite_note-nytimes-2">[2]</a></sup>\n</p><p>The programme came about as the six Pythons, having met each other through university and in various radio and television programmes in the 1960s, sought to make a new sketch comedy show unlike anything else on British television at the time. Much of the humour in the series\' various episodes and sketches targets the idiosyncrasies of <a href="/wiki/Culture_of_the_United_Kingdom" title="Culture of the United Kingdom">British life</a>, especially that of professionals, as well as aspects of politics. Their comedy is often pointedly <a href="/wiki/Intellectualism" title="Intellectualism">intellectual</a>, with numerous erudite references to philosophers and literary figures and their works. The team intended their humour to be impossible to categorise, and succeeded (although, by their perspective, failed) so completely that the adjective "<a href="https://en.wiktionary.org/wiki/Pythonesque" class="extiw" title="wiktionary:Pythonesque">Pythonesque</a>" was invented to define it and, later, similar material. However, their humour was not always seen as appropriate for television by the BBC, leading to some censorship during the third series. Cleese left the show following that series, and the remaining Pythons completed a final shortened fourth series before ending the show.\n</p><p>The show became very popular in the United Kingdom, and after initially failing to draw an audience in the United States, gained American popularity after <a href="/wiki/Public_Broadcasting_Service" class="mw-redirect" title="Public Broadcasting Service">Public Broadcasting Service</a> member stations began airing the show in 1974. The success on both sides of the Atlantic led to the Pythons going on live tours and creating three additional films, while the individual Pythons flourished in solo careers. <i>Monty Python\'s Flying Circus</i> has become an influential work on comedy as well as the ongoing popular culture.\n</p>\n<div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div>\n<ul>\n<li class="toclevel-1 tocsection-1"><a href="#Premise"><span class="tocnumber">1</span> <span class="toctext">Premise</span></a>\n<ul>\n<li class="toclevel-2 tocsection-2"><a href="#Title"><span class="tocnumber">1.1</span> <span class="toctext">Title</span></a></li>\n<li class="toclevel-2 tocsection-3"><a href="#Recurring_characters"><span class="tocnumber">1.2</span> <span class="toctext">Recurring characters</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-4"><a href="#Series_overview"><span class="tocnumber">2</span> <span class="toctext">Series overview</span></a>\n<ul>\n<li class="toclevel-2 tocsection-5"><a href="#Monty_Python's_Fliegender_Zirkus"><span class="tocnumber">2.1</span> <span class="toctext"><i>Monty Python\'s Fliegender Zirkus</i></span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-6"><a href="#Development"><span class="tocnumber">3</span> <span class="toctext">Development</span></a></li>\n<li class="toclevel-1 tocsection-7"><a href="#Casting"><span class="tocnumber">4</span> <span class="toctext">Casting</span></a>\n<ul>\n<li class="toclevel-2 tocsection-8"><a href="#Chapman"><span class="tocnumber">4.1</span> <span class="toctext">Chapman</span></a></li>\n<li class="toclevel-2 tocsection-9"><a href="#Cleese"><span class="tocnumber">4.2</span> <span class="toctext">Cleese</span></a></li>\n<li class="toclevel-2 tocsection-10"><a href="#Gilliam"><span class="tocnumber">4.3</span> <span class="toctext">Gilliam</span></a></li>\n<li class="toclevel-2 tocsection-11"><a href="#Idle"><span class="tocnumber">4.4</span> <span class="toctext">Idle</span></a></li>\n<li class="toclevel-2 tocsection-12"><a href="#Jones"><span class="tocnumber">4.5</span> <span class="toctext">Jones</span></a></li>\n<li class="toclevel-2 tocsection-13"><a href="#Palin"><span class="tocnumber">4.6</span> <span class="toctext">Palin</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-14"><a href="#Production"><span class="tocnumber">5</span> <span class="toctext">Production</span></a></li>\n<li class="toclevel-1 tocsection-15"><a href="#Broadcast"><span class="tocnumber">6</span> <span class="toctext">Broadcast</span></a>\n<ul>\n<li class="toclevel-2 tocsection-16"><a href="#Original_broadcast"><span class="tocnumber">6.1</span> <span class="toctext">Original broadcast</span></a></li>\n<li class="toclevel-2 tocsection-17"><a href="#Lost_sketches"><span class="tocnumber">6.2</span> <span class="toctext">Lost sketches</span></a></li>\n<li class="toclevel-2 tocsection-18"><a href="#American_television"><span class="tocnumber">6.3</span> <span class="toctext">American television</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-19"><a href="#Subsequent_projects"><span class="tocnumber">7</span> <span class="toctext">Subsequent projects</span></a>\n<ul>\n<li class="toclevel-2 tocsection-20"><a href="#Live_shows_with_original_cast"><span class="tocnumber">7.1</span> <span class="toctext">Live shows with original cast</span></a></li>\n<li class="toclevel-2 tocsection-21"><a href="#French_adaptation"><span class="tocnumber">7.2</span> <span class="toctext">French adaptation</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-22"><a href="#Reception"><span class="tocnumber">8</span> <span class="toctext">Reception</span></a>\n<ul>\n<li class="toclevel-2 tocsection-23"><a href="#Awards_and_honours"><span class="tocnumber">8.1</span> <span class="toctext">Awards and honours</span></a></li>\n<li class="toclevel-2 tocsection-24"><a href="#Legacy"><span class="tocnumber">8.2</span> <span class="toctext">Legacy</span></a></li>\n</ul>\n</li>\n<li class="toclevel-1 tocsection-25"><a href="#See_also"><span class="tocnumber">9</span> <span class="toctext">See also</span></a></li>\n<li class="toclevel-1 tocsection-26"><a href="#References"><span class="tocnumber">10</span> <span class="toctext">References</span></a></li>\n<li class="toclevel-1 tocsection-27"><a href="#External_links"><span class="tocnumber">11</span> <span class="toctext">External links</span></a></li>\n</ul>\n</div>\n\n<h2><span class="mw-headline" id="Premise">Premise</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=1" title="Edit section: Premise">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p><i>Monty Python\'s Flying Circus</i> is a sketch comedy show, though it does not adhere to any regular format. The sketches include live-action skits performed by <a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a>, <a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a>, <a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a>, <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a>, <a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a>, and <a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a>, along with animations created by Gilliam, frequently used as linking devices or interstitial between skits. The show\'s introductory theme, which varied with each series, was also based on Gilliam\'s animations, its <a href="/wiki/Theme_music" title="Theme music">theme music</a> set to "<a href="/wiki/The_Liberty_Bell_(march)" title="The Liberty Bell (march)">The Liberty Bell</a>" march by <a href="/wiki/John_Philip_Sousa" title="John Philip Sousa">John Philip Sousa</a>, and ending with a shot of the show\'s title before being crushed by a giant foot. Gilliam selected the rendition of the march performed by the <a href="/wiki/Band_of_the_Grenadier_Guards" title="Band of the Grenadier Guards">Band of the Grenadier Guards</a>, published in 1893,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3">[3]</a></sup> as under the <a href="/wiki/Berne_Convention" title="Berne Convention">Berne Convention</a> and <a href="/wiki/Copyright_law_of_the_United_States" title="Copyright law of the United States">United States copyright law</a>, the work had fallen into the <a href="/wiki/Public_domain" title="Public domain">public domain</a>, allowing them to avoid <a href="/wiki/Royalty_payment" title="Royalty payment">royalty payments</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4">[4]</a></sup>\n</p>\n<h3><span class="mw-headline" id="Title">Title</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=2" title="Edit section: Title">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The title <i>Monty Python\'s Flying Circus</i> was partly the result of the group\'s reputation at the BBC. <a href="/wiki/Michael_Mills_(British_producer)" title="Michael Mills (British producer)">Michael Mills</a>, the BBC\'s Head of Comedy, wanted their name to include the word "circus" because the BBC referred to the six members wandering around the building as a circus, in particular, "Baron Von Took\'s Circus", after <a href="/wiki/Barry_Took" title="Barry Took">Barry Took</a>, who had brought them to the BBC.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5">[5]</a></sup> The group added "flying" to make it sound less like an actual circus and more like something <a href="/wiki/Manfred_von_Richthofen#Flying_Circus" title="Manfred von Richthofen">from World War I</a>. The group was coming up with their name at a time when the 1966 <a href="/wiki/Royal_Guardsmen" class="mw-redirect" title="Royal Guardsmen">Royal Guardsmen</a> song <i><a href="/wiki/Snoopy_vs._the_Red_Baron_(song)" title="Snoopy vs. the Red Baron (song)">Snoopy vs. the Red Baron</a></i> had been at a peak. <a href="/wiki/Manfred_von_Richthofen" title="Manfred von Richthofen"><i>Freiherr</i> Manfred von Richthofen</a>, the World War I German flying ace known as The Red Baron, commanded the <a href="/wiki/Jagdgeschwader_1_(World_War_I)" class="mw-redirect" title="Jagdgeschwader 1 (World War I)">Jagdgeschwader 1 squadron of planes</a> known as "The Flying Circus".\n</p><p>The words "Monty Python" were added because they claimed it sounded like a really bad theatrical agent, the sort of person who would have brought them together, with <a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a> suggesting "<a href="/wiki/Pythonidae" title="Pythonidae">Python</a>" as something slimy and slithery, and <a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a> suggesting "Monty".<sup id="cite_ref-Palin_2008_650_6-0" class="reference"><a href="#cite_note-Palin_2008_650-6">[6]</a></sup> They later explained that the name Monty "...made us laugh because Monty to us means <a href="/wiki/Lord_Montgomery" class="mw-redirect" title="Lord Montgomery">Lord Montgomery</a>, our great general of the Second World War".<sup id="cite_ref-7" class="reference"><a href="#cite_note-7">[7]</a></sup>\n</p><p>The BBC had rejected some other names put forward by the group, including <i>Whither Canada?</i>, <i>The Nose Show</i>, <i>Ow! It\'s Colin Plint!</i>, <i>A Horse, a Spoon and a Basin</i>, <i>The Toad Elevating Moment</i> and <i>Owl Stretching Time</i>.<sup id="cite_ref-Palin_2008_650_6-1" class="reference"><a href="#cite_note-Palin_2008_650-6">[6]</a></sup> Several of these titles were later used for individual episodes.\n</p>\n<h3><span class="mw-headline" id="Recurring_characters">Recurring characters</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=3" title="Edit section: Recurring characters">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/List_of_recurring_Monty_Python%27s_Flying_Circus_characters" title="List of recurring Monty Python's Flying Circus characters">List of recurring Monty Python\'s Flying Circus characters</a></div>\n<p>Compared with many other <a href="/wiki/Sketch_comedy" title="Sketch comedy">sketch comedy</a> shows, <i>Flying Circus</i> had fewer recurring characters, many of whom were involved only in titles and linking sequences. Continuity for many of these recurring characters was frequently non-existent from sketch to sketch, with sometimes even the most basic information (such as a character\'s name) being changed from one appearance to the next.\n</p><p>The most frequently returning characters on the show include:\n</p>\n<ul><li><b>The "It\'s" Man</b> (Palin), a <a href="/wiki/Robinson_Crusoe" title="Robinson Crusoe">Robinson Crusoe</a>-type castaway with torn clothes and a long, unkempt beard who would appear at the beginning of the programme. Often he is seen performing a long or dangerous task, such as falling off a tall, jagged cliff or running through a mine field a long distance towards the camera before introducing the show by just saying, "It\'s..." before being abruptly cut off by the opening titles and Terry Gilliam\'s animation sprouting the words \'Monty Python’s Flying Circus\'. <i>It\'s</i> was an early candidate for the title of the series.</li>\n<li><b>A BBC <a href="/wiki/Continuity_announcer" class="mw-redirect" title="Continuity announcer">continuity announcer</a> in a <a href="/wiki/Dinner_jacket" class="mw-redirect" title="Dinner jacket">dinner jacket</a></b> (Cleese), seated at a desk, often in highly incongruous locations, such as a forest or a beach. His line, "<a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And now for something completely different</a>", was used variously as a lead-in to the opening titles and a simple way to link sketches. Though Cleese is best known for it, Idle first introduced the phrase in Episode 2, where he introduced a man with three buttocks. It eventually became the show’s <a href="/wiki/Catchphrase" title="Catchphrase">catchphrase</a> and served as the title for the troupe’s first movie. In Series 3 the line was shortened to simply: "And now..." and was often combined with the "It\'s" man in introducing the episodes.</li></ul>\n<div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Gumbys-present-architects-sketch.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/6/6a/Gumbys-present-architects-sketch.jpg/220px-Gumbys-present-architects-sketch.jpg" decoding="async" width="220" height="166" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/en/6/6a/Gumbys-present-architects-sketch.jpg 1.5x" data-file-width="240" data-file-height="181" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Gumbys-present-architects-sketch.jpg" class="internal" title="Enlarge"></a></div>Gumbys on parade</div></div></div>\n<ul><li><b>The <a href="/wiki/Gumbys" class="mw-redirect" title="Gumbys">Gumbys</a></b>, a dim-witted group of identically attired people all wearing <a href="/wiki/Gumboots" class="mw-redirect" title="Gumboots">gumboots</a> (from which they take their name), high-water trousers, <a href="/wiki/Braces_(clothing)" class="mw-redirect" title="Braces (clothing)">braces</a>, <a href="/wiki/Fair_Isle_(technique)" title="Fair Isle (technique)">Fair Isle</a> <a href="/wiki/Tank_top_(sweater)" class="mw-redirect" title="Tank top (sweater)">tanktops</a>, white shirts with rolled up sleeves, round wire-rimmed glasses, <a href="/wiki/Toothbrush_mustache" class="mw-redirect" title="Toothbrush mustache">toothbrush moustaches</a> and knotted handkerchiefs worn on their heads (a stereotype of the English <a href="/wiki/Working_class_culture" class="mw-redirect" title="Working class culture">working-class</a> holidaymaker). Gumbys always stand in a hunched, square posture, holding their arms stiffly at their sides with their balled hands curled inwards. They speak slowly in loud, throaty voices punctuated by frequent grunts and groans, display a poor understanding of everything they encounter, and have a fondness for pointless violence. All of them are surnamed Gumby: D.P. Gumby, R.S. Gumby, etc. Even though all Pythons played Gumbys in the show\'s run, the character is most closely associated with Michael Palin.</li>\n<li><b>The Knight with a Raw Chicken</b> (Gilliam), who would hit characters over the head with the chicken when they said something particularly silly. The knight was a regular during the first series and made another appearance in the third.</li>\n<li><b>A nude <a href="/wiki/Organist" title="Organist">organist</a></b> (played in his first two appearances by Gilliam, later by Jones) who provided a brief fanfare to punctuate certain sketches, most notably on a sketch poking fun at <i><a href="/wiki/Sale_of_the_Century_(UK_game_show)" class="mw-redirect" title="Sale of the Century (UK game show)">Sale of the Century</a></i> or as yet another way to introduce the opening titles. This character was addressed as "<a href="/wiki/Onan" title="Onan">Onan</a>" by Palin\'s host character in the ersatz game show sketch "Blackmail".</li>\n<li><b>The "Pepper Pots"</b> are screeching middle-aged, <a href="/wiki/Lower-middle_class" class="mw-redirect" title="Lower-middle class">lower-middle class</a> housewives, played by the Pythons in frocks and frumpy hats, and engage in surreal and inconsequential conversation. "The Pepper Pots" was the in-house name that the Pythons used to identify these characters, who were never identified as such on-screen. On the rare occasion these women were named, it was often for comic effect, featuring such names as Mrs. Scum, Mrs. Non-Gorilla, Mrs. Thing, Mrs. Entity, or the duo Mrs. Premise and Mrs. Conclusion. "Pepper pot" refers to what the Pythons believed was the typical body shape of middle-class, British housewives, as explained by John Cleese in <i><a href="/wiki/How_to_Irritate_People" title="How to Irritate People">How to Irritate People</a></i>.<sup id="cite_ref-FOOTNOTELarsen200813_8-0" class="reference"><a href="#cite_note-FOOTNOTELarsen200813-8">[8]</a></sup> <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a> is perhaps most closely associated with the Pepper Pots, but all the Pythons were frequent in performing the drag characters.</li>\n<li>Brief black-and-white <a href="/wiki/Stock_footage" title="Stock footage">stock footage</a>, lasting only two or three seconds, of <b>middle-aged women sitting in an audience and applauding</b>. The film was taken from a <a href="/wiki/Women%27s_Institutes_(British)" class="mw-redirect" title="Women's Institutes (British)">Women’s Institute</a> meeting and was sometimes presented with a colour tint.<sup id="cite_ref-FOOTNOTELarsen2008292_9-0" class="reference"><a href="#cite_note-FOOTNOTELarsen2008292-9">[9]</a></sup></li></ul>\n<p>Other characters appearing multiple times include:\n</p>\n<ul><li>"<a href="/wiki/The_Colonel_(Monty_Python)" title="The Colonel (Monty Python)">The Colonel</a>" (Chapman), a British Army officer who interrupts sketches that are "too silly" or that contain material he finds offensive. The Colonel also appears when non-BBC broadcast repeats need to be cut off for time constraints in <a href="/wiki/Broadcast_syndication" title="Broadcast syndication">syndication</a>.</li>\n<li>Arthur Pewtey (Palin), a socially inept, extremely dull man who appears most notably in the "<a href="/wiki/Marriage_Guidance_Counsellor" title="Marriage Guidance Counsellor">Marriage Guidance Counsellor</a>" and "<a href="/wiki/Ministry_of_Silly_Walks" class="mw-redirect" title="Ministry of Silly Walks">Ministry of Silly Walks</a>" sketches. His sketches all take the form of an office appointment with an authority figure (usually played by Cleese), which are used to parody the officious side of the British establishment by having the professional employed in the most bizarre field of expertise. The spelling of Pewtey\'s surname is changed, sometimes being spelled "Putey".</li>\n<li>The Reverend Arthur Belling is the <a href="/wiki/Vicar" title="Vicar">vicar</a> of St Loony-Up-The-Cream-Bun-and-Jam, known for his deranged behaviour. In one sketch (within Series 2, played by Chapman), he makes an appeal to the insane people of the world to drive sane people insane. In another sketch (within Series 3, played by Palin), which is among the pantheon of fan favourites<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2019)">citation needed</span></a></i>]</sup>, the vicar politely joins a honeymooning couple at an outdoor café, repeatedly insisting he does not wish to disturb them; he then sits down, opens a suitcase full of props, and calmly proceeds to smash plates on the table, shake a baby doll in their faces, bounce a rubber crab from a ping-pong paddle, and spray shaving cream all over his face, all whilst loudly chanting nonsense syllables. Rev. Belling\'s odd version of \'not being disturbing\' serves to convert the couple to his bizarre sect of Christianity.</li>\n<li>A somewhat disreputable shopkeeper, played by Palin, is a staple of many a two-person sketch (notably "Dead Parrot Sketch" and "Cheese Shop"). He often speaks with a strong Cockney accent, and has no consistent name.</li>\n<li>Mr. Badger (Idle), a Scotsman whose specialty was interrupting sketches (\'I won\'t ruin your sketch, for a pound\'). He was once interviewed, in a sketch opposite Cleese, regarding his interpretation of the <a href="/wiki/Magna_Carta" title="Magna Carta">Magna Carta</a>, which Badger believes was actually a piece of chewing gum on a bedspread in <a href="/wiki/Dorset" title="Dorset">Dorset</a>. He has also been seen as an <a href="/wiki/Aircraft_hijacking" title="Aircraft hijacking">aeroplane hijacker</a> whose demands grow increasingly strange.</li>\n<li><a href="/wiki/Mr._Praline" class="mw-redirect" title="Mr. Praline">Mr. Eric Praline</a>, a disgruntled man, played by Cleese and who often wears a <a href="/wiki/Cagoule_(raincoat)#The_roll-up-able_cagoule" class="mw-redirect" title="Cagoule (raincoat)">Pac-a-Mac</a>. His most famous appearance is in the "<a href="/wiki/Dead_Parrot_sketch" title="Dead Parrot sketch">Dead Parrot sketch</a>". His name is only mentioned once on-screen, during the "<a href="/wiki/Fish_Licence" title="Fish Licence">Fish Licence</a>" sketch, but his attire (together with Cleese\'s distinctive, nasal performance) distinguishes him as a recognisable character who makes multiple appearances throughout the first two series. An audio re-recording of "Fish Licence" also reveals that he has multiple pets of wildly differing species, all of them named "<a href="/wiki/Eric_the_Half-a-Bee" title="Eric the Half-a-Bee">Eric</a>".</li>\n<li>Arthur Nudge, a well-dressed mustachioed man, referred to in the published scripts as "Mr. Nudge" (Idle), who pointedly annoys uptight characters (usually Jones). He is characterised by his constant nudging gestures and cheeky innuendo. His most famous appearance is in his initial sketch, "<a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a>", though he appears in several later sketches too, including "The Visitors", where he claimed his name was Arthur Name.</li>\n<li><a href="/wiki/Biggles" title="Biggles">Biggles</a> (Chapman, and <a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">in one instance</a> Jones), a World War I pilot. Derived from the famous series of fiction stories by <a href="/wiki/W._E._Johns" title="W. E. Johns">W. E. Johns</a>.</li>\n<li><span id="Luigi_Vercotti">Luigi Vercotti</span> (Palin), a <a href="/wiki/Mafioso_(criminal)" class="mw-redirect" title="Mafioso (criminal)">mafioso entrepreneur</a> and <a href="/wiki/Pimp" class="mw-redirect" title="Pimp">pimp</a> featured during the first series, accompanied in his first appearance by his brother Dino (Jones). He appears as the manager for <a href="/wiki/Ron_Obvious_(Monty_Python)" class="mw-redirect" title="Ron Obvious (Monty Python)">Ron Obvious</a>, the owner of La Gondola restaurant and as a victim of the <a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Piranha Brothers</a>. With his brother, he attempts to talk the Colonel into paying for <a href="/wiki/Pizzo_(extortion)" class="mw-redirect" title="Pizzo (extortion)">protection of his Army base</a>.</li>\n<li><a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a> would burst into a previously unrelated sketch whenever their name was mentioned. Their catchphrase was \'Nobody expects the Spanish Inquisition!\' They consist of Cardinal Ximinez (Palin), Cardinal Fang (Gilliam), and Cardinal Biggles (Jones). They premiered in series two and Ximinez had a cameo in "The Buzz Aldrin Show".</li>\n<li>Frenchmen: Cleese and Palin would sometimes dress in stereotypical French garb, e.g. striped shirt, tight pants, <a href="/wiki/Beret" title="Beret">beret</a>, and speak in garbled French, with incomprehensible accents. They had one fake moustache between them, and each would stick it onto the other\'s lip when it was his turn to speak. They appear giving a demonstration of the technical aspects of the flying sheep in episode 2 ("Sex and Violence"), and appear in the <a href="/wiki/Ministry_of_Silly_Walks" class="mw-redirect" title="Ministry of Silly Walks">Ministry of Silly Walks</a> sketch as the developers of "La Marche Futile". They also make an appearance in <i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i>.</li>\n<li>The Compère (Palin), a sleazy nightclub emcee in a red jacket. He linked sketches by introducing them as nightclub acts, and was occasionally seen after the sketch, passing comment on it. In one link, he was the victim of the Knight with a Raw Chicken.</li>\n<li><a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Spiny Norman</a>, a Gilliam animation of a giant hedgehog. He is introduced in Episode 1 of Series 2 in "Piranha Brothers" as an hallucination experienced by Dinsdale Piranha when he is depressed. Later, Spiny Norman appears randomly in the background of animated cityscapes, shouting \'Dinsdale!\'</li>\n<li><a href="/wiki/Cardinal_Richelieu" title="Cardinal Richelieu">Cardinal Richelieu</a> (Palin) is impersonated by someone or is impersonating someone else. He is first seen as a witness in court, but he turns out to be Ron Higgins, a professional Cardinal Richelieu impersonator. He is later seen during the "Historical Impersonations" sketch as himself impersonating <a href="/wiki/Petula_Clark" title="Petula Clark">Petula Clark</a>.</li>\n<li>Ken Shabby (Palin), an unkempt, disgusting man who cleaned public lavatories, appeared in his own sketch in the first series, attempting to get approval from another man (Chapman) to marry his daughter (Booth). In the second series, he appeared in several <i><a href="/wiki/Vox_populi" title="Vox populi">vox populi</a></i> segments. He later founded his own religion (as part of the "Crackpot Religions" sketch) and called himself Archbishop Shabby.</li>\n<li>Raymond Luxury-Yacht (Chapman) is described as one of Britain\'s leading skin specialists. He wears an enormous fake nose made of <a href="/wiki/Polystyrene" title="Polystyrene">polystyrene</a>. He proudly proclaims that his name \'is spelled "Raymond Luxury-Yach-t", but it is pronounced "Throat-Wobbler Mangrove"\'.</li>\n<li>A Madman (Chapman) Often appears in vox pops segments. He wears a <a href="/wiki/Bowler_hat" title="Bowler hat">bowler hat</a> and has a bushy <a href="/wiki/Moustache" title="Moustache">moustache</a>. He will always rant and ramble about his life whenever he appears and will occasionally foam at the mouth and fall over backwards. He appears in "The Naked Ant", "The Buzz Aldrin Show" and "It\'s a Living".</li></ul>\n<p>Other returning characters include a married couple, often mentioned but never seen, <a href="/wiki/Ann_Haydon-Jones" class="mw-redirect" title="Ann Haydon-Jones">Ann Haydon-Jones</a> and her husband Pip. In "<a href="/wiki/Election_Night_Special" title="Election Night Special">Election Night Special</a>", Pip has lost a political seat to <a href="/wiki/Engelbert_Humperdinck_(singer)" title="Engelbert Humperdinck (singer)">Engelbert Humperdinck</a>. Several recurring characters are played by different Pythons. Both Palin and Chapman played the insanely violent Police Constable <a href="/wiki/Pan_American_World_Airways" class="mw-redirect" title="Pan American World Airways">Pan Am</a>. Both Jones and Palin portrayed police sergeant Harry \'Snapper\' Organs of Q division. Various historical figures were played by a different cast member in each appearance, such as <a href="/wiki/Wolfgang_Amadeus_Mozart" title="Wolfgang Amadeus Mozart">Mozart</a> (Cleese, then Palin), or <a href="/wiki/Queen_Victoria" title="Queen Victoria">Queen Victoria</a> (Jones, then Palin, then all five Pythons in Series 4).\n</p><p>Some of the Pythons\' real-life targets recurred more frequently than others. <a href="/wiki/Reginald_Maudling" title="Reginald Maudling">Reginald Maudling</a>, a contemporary <a href="/wiki/Conservative_Party_(UK)" title="Conservative Party (UK)">Conservative</a> politician, was singled out for perhaps the most consistent ridicule.<sup id="cite_ref-FOOTNOTELarsen2008288_10-0" class="reference"><a href="#cite_note-FOOTNOTELarsen2008288-10">[10]</a></sup> Then-<a href="/wiki/Secretary_of_State_for_Education_and_Science" class="mw-redirect" title="Secretary of State for Education and Science">Secretary of State for Education and Science</a>, and (well after the programme had ended) Prime Minister <a href="/wiki/Margaret_Thatcher" title="Margaret Thatcher">Margaret Thatcher</a>, was occasionally mentioned, in particular referring to Thatcher\'s brain as being in her shin received a hearty laugh from the studio audience<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2019)">citation needed</span></a></i>]</sup>. Then-US President <a href="/wiki/Richard_Nixon" title="Richard Nixon">Richard Nixon</a> was also frequently mocked, as was Conservative party leader <a href="/wiki/Edward_Heath" title="Edward Heath">Edward Heath</a>, prime minister for much of the series\' run. The <a href="/wiki/Law_enforcement_in_the_United_Kingdom" title="Law enforcement in the United Kingdom">British police</a> were also a favourite target, often acting bizarrely, stupidly, or abusing their authority, frequently in drag.\n</p>\n<h2><span class="mw-headline" id="Series_overview">Series overview</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=4" title="Edit section: Series overview">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes" title="List of Monty Python's Flying Circus episodes">List of Monty Python\'s Flying Circus episodes</a></div>\n<p>There were a total of 45 episodes of <i>Monty Python\'s Flying Circus</i> made across four series.\n</p>\n<table class="wikitable plainrowheaders" style="text-align:center;height:1px;display:table"><tbody><tr style="text-align:center"><th scope="col" rowspan="2" style="min-width:50px;padding:0 8px">Series</th><th scope="col" rowspan="2" colspan="2" style="padding:0 8px">Episodes</th><th scope="col" colspan="2">Originally aired</th></tr><tr><th scope="col">First aired</th><th scope="col">Last aired</th></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#1E599C;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_1_(1969–70)" title="List of Monty Python's Flying Circus episodes">1</a></span></span></span></th><td colspan="2">13</td><td colspan="1" style="padding:0.2em 0.4em">5 October 1969</td><td style="padding:0 8px">11 January 1970</td></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#CB9F34;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_2_(1970)" title="List of Monty Python's Flying Circus episodes">2</a></span></span></span></th><td colspan="2">13</td><td colspan="1" style="padding:0.2em 0.4em">15 September 1970</td><td style="padding:0 8px">22 December 1970</td></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#AE86C5;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_3_(1972–73)" title="List of Monty Python's Flying Circus episodes">3</a></span></span></span></th><td colspan="2">13</td><td colspan="1" style="padding:0.2em 0.4em">19 October 1972</td><td style="padding:0 8px">18 January 1973</td></tr><tr style="height:100%"><th scope="row" colspan="1" style="height:inherit;padding:0"><span style="text-align:center;float:left;width:100%;height:100%"><span style="width:14px;background:#F1721D;height:100%;float:left;box-shadow:inset -1px 0 #A2A9B1"></span><span style="height:100%;width:calc(100% - 14px);display:flex;vertical-align:middle;align-items:center;justify-content:center"><span class="nowrap"><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes#Series_4_(1974)" title="List of Monty Python's Flying Circus episodes">4</a></span></span></span></th><td colspan="2">6</td><td colspan="1" style="padding:0.2em 0.4em">31 October 1974</td><td style="padding:0 8px">5 December 1974</td></tr></tbody></table>\n<h3><span id="Monty_Python.27s_Fliegender_Zirkus"></span><span class="mw-headline" id="Monty_Python\'s_Fliegender_Zirkus"><i>Monty Python\'s Fliegender Zirkus</i></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=5" title="Edit section: Monty Python's Fliegender Zirkus">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python's Fliegender Zirkus">Monty Python\'s Fliegender Zirkus</a></div>\n<p>Two episodes were produced in German for WDR (<a href="/wiki/Westdeutscher_Rundfunk" title="Westdeutscher Rundfunk">Westdeutscher Rundfunk</a>), both entitled <i>Monty Python\'s Fliegender Zirkus</i>, the literal German translation of the English title. While visiting the UK in the early 1970s, German entertainer and TV producer <a href="/wiki/Alfred_Biolek" title="Alfred Biolek">Alfred Biolek</a> caught notice of the Pythons. Excited by their innovative, absurd sketches, he invited them to Germany in 1971 and 1972 to write and act in two special German episodes.\n</p><p>The first episode, advertised as <i>Monty Python’s Fliegender Zirkus: Blödeln für Deutschland</i> ("Monty Python\'s Flying Circus: Clowning Around for Germany"), was produced in 1971 and performed in German. The second episode, advertised as <i>Monty Python’s Fliegender Zirkus: Blödeln auf die feine englische Art</i> ("Monty Python\'s Flying Circus: Clowning Around in the Distinguished English Way"), produced in 1972, was recorded in English and dubbed into German for its broadcast in Germany. The original English recording was transmitted by the BBC in October 1973.\n</p>\n<h2><span class="mw-headline" id="Development">Development</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=6" title="Edit section: Development">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></div>\n<p>Prior to the show, the six main cast members had met each other as part of various comedy shows: Jones and Palin were members of <a href="/wiki/The_Oxford_Revue" title="The Oxford Revue">The Oxford Revue</a>, while Chapman, Cleese, and Idle were members of <a href="/wiki/Cambridge_University" class="mw-redirect" title="Cambridge University">Cambridge University</a>\'s <a href="/wiki/Footlights" title="Footlights">Footlights</a>, and while on tour in the United States, met Gilliam. In various capacities, the six worked on a number of different British radio and television comedy shows from 1964 to 1969 as both writers and on-screen roles. The six began to collaborate on ideas together, blending elements of their previous shows, to devise the premise of a new comedy show which presented a number of skits with minimal common elements, as if it were comedy presented by a <a href="/wiki/Stream_of_consciousness" title="Stream of consciousness">stream of consciousness</a>. This was aided through the use of Gilliam\'s animations to help transition skits from one to the next.<sup id="cite_ref-Gilliam_animation_11-0" class="reference"><a href="#cite_note-Gilliam_animation-11">[11]</a></sup>\n</p>\n<h2><span class="mw-headline" id="Casting">Casting</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=7" title="Edit section: Casting">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p>Although there were few recurring characters, and the six cast members played many diverse roles, each perfected some character traits.\n</p>\n<h3><span class="mw-headline" id="Chapman">Chapman</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=8" title="Edit section: Chapman">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a> often portrayed straight-laced men, of any age or class, frequently authority figures such as military officers, policemen or doctors. His characters could, at any moment, engage in "Pythonesque" <a href="/wiki/Mania" title="Mania">maniacal</a> behaviour and then return to their former sobriety.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12">[12]</a></sup> He was also skilled in abuse, which he brusquely delivered in such sketches as "Argument Clinic" and "Flying Lessons". He adopted a dignified demeanour as the leading "<a href="/wiki/Straight_man" title="Straight man">straight man</a>" in the Python feature films <i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Holy Grail</a></i> (<a href="/wiki/King_Arthur" title="King Arthur">King Arthur</a>) and <i><a href="/wiki/Life_of_Brian" class="mw-redirect" title="Life of Brian">Life of Brian</a></i> (the title character).<sup id="cite_ref-13" class="reference"><a href="#cite_note-13">[13]</a></sup>\n</p>\n<h3><span class="mw-headline" id="Cleese">Cleese</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=9" title="Edit section: Cleese">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a> played ridiculous authority figures. Gilliam claims that Cleese is the funniest of the Pythons in drag, as he barely needs to be dressed up to look hilarious, with his square chin and 6\' 5" (196 cm) frame (see the "Mr. and Mrs. Git" sketch).<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> Cleese also played intimidating maniacs, such as an instructor in the "<a href="/wiki/Self-Defence_Against_Fresh_Fruit" title="Self-Defence Against Fresh Fruit">Self-Defence Against Fresh Fruit</a>" sketch. His character <a href="/wiki/Mr._Praline" class="mw-redirect" title="Mr. Praline">Mr. Praline</a>, the put-upon consumer, featured in some of the most popular sketches, most famously in "<a href="/wiki/Dead_Parrot" class="mw-redirect" title="Dead Parrot">Dead Parrot</a>".<sup id="cite_ref-14" class="reference"><a href="#cite_note-14">[14]</a></sup> One star turn that proved most memorable among Python fans was "<a href="/wiki/The_Ministry_of_Silly_Walks" title="The Ministry of Silly Walks">The Ministry of Silly Walks</a>", where he worked for the eponymous government department. The sketch displays the notably tall and loose-limbed Cleese\'s physicality in a variety of silly walks. Despite its popularity, particularly among American fans, Cleese himself particularly disliked the sketch, feeling that many of the laughs it generated were cheap and that no balance was provided by what could have been the true satirical centrepoint.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> Another of his trademarks is his over-the-top delivery of abuse, particularly his screaming "You bastard!"\n</p><p>Cleese often played foreigners with ridiculous accents, especially Frenchmen, most of the time with Palin. Sometimes this extended to the use of actual French or German (such as "The Funniest Joke in the World", "Mr. <a href="/wiki/Adolf_Hitler" title="Adolf Hitler">Hilter</a>", or "La Marche Futile" at the end of "The Ministry of Silly Walks"), but still with a very heavy accent (or impossible to understand, as for example Hilter\'s speech).\n</p>\n<h3><span class="mw-headline" id="Gilliam">Gilliam</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=10" title="Edit section: Gilliam">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<div class="thumb tright"><div class="thumbinner" style="width:242px;"><a href="/wiki/File:Angelo_Bronzino_-_Venus,_Cupid,_Folly_and_Time_-_National_Gallery,_London.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg/240px-Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg" decoding="async" width="240" height="303" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg/360px-Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/83/Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg/480px-Angelo_Bronzino_-_Venus%2C_Cupid%2C_Folly_and_Time_-_National_Gallery%2C_London.jpg 2x" data-file-width="3349" data-file-height="4226" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Angelo_Bronzino_-_Venus,_Cupid,_Folly_and_Time_-_National_Gallery,_London.jpg" class="internal" title="Enlarge"></a></div>The famous Python Foot can here be seen in its original context in the bottom-left corner of <i><a href="/wiki/Venus,_Cupid,_Folly_and_Time" title="Venus, Cupid, Folly and Time">Venus, Cupid, Folly and Time</a></i> by <a href="/wiki/Bronzino" title="Bronzino">Agnolo Bronzino</a>, in the <a href="/wiki/National_Gallery,_London" class="mw-redirect" title="National Gallery, London">National Gallery, London</a></div></div></div>\n<div class="thumb tright"><div class="thumbinner" style="width:242px;"><a href="/wiki/File:Foot_detail_from_Venus,_Cupid,_Folly_and_Time_by_Agnolo_Bronzino.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg/240px-Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg" decoding="async" width="240" height="233" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg/360px-Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/89/Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg/480px-Foot_detail_from_Venus%2C_Cupid%2C_Folly_and_Time_by_Agnolo_Bronzino.jpg 2x" data-file-width="686" data-file-height="667" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foot_detail_from_Venus,_Cupid,_Folly_and_Time_by_Agnolo_Bronzino.jpg" class="internal" title="Enlarge"></a></div>Close-up of the foot</div></div></div>\n<p>Many Python sketches were linked together by the <a href="/wiki/Cutout_animation" title="Cutout animation">cut-out animations</a> of <a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a>, including the opening titles featuring the iconic giant foot that became a symbol of all that was \'Pythonesque\'.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15">[15]</a></sup> Gilliam’s unique visual style was characterised by sudden, dramatic movements and deliberate mismatches of scale, set in <a href="/wiki/Surrealism" title="Surrealism">surrealist</a> landscapes populated by <a href="/wiki/Engraving" title="Engraving">engravings</a> of large buildings with elaborate architecture, grotesque <a href="/wiki/Victorian_era#Technology_and_engineering" title="Victorian era">Victorian</a> gadgets, machinery, and people cut from old <a href="/wiki/Sears_Roebuck" class="mw-redirect" title="Sears Roebuck">Sears Roebuck</a> catalogues. Gilliam added <a href="/wiki/Airbrush" title="Airbrush">airbrush</a> illustrations and many familiar pieces of art. All of these elements were combined in incongruous ways to obtain new and humorous meanings.\n</p><p>The surreal nature of the series allowed Gilliam’s animation to go off on bizarre, imaginative tangents, features that were impossible to produce live-action at the time. Some running gags derived from these animations were a giant <a href="/wiki/Hedgehog" title="Hedgehog">hedgehog</a> named Spiny Norman who appeared over the tops of buildings shouting, "Dinsdale!", further petrifying the paranoid <a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Dinsdale Piranha</a>; and The Foot of Cupid, the giant foot that suddenly squashed things. The latter is appropriated from the figure of <a href="/wiki/Cupid" title="Cupid">Cupid</a> in the <a href="/wiki/Agnolo_Bronzino" class="mw-redirect" title="Agnolo Bronzino">Agnolo Bronzino</a> painting <i><a href="/wiki/Venus,_Cupid,_Folly_and_Time" title="Venus, Cupid, Folly and Time">Venus, Cupid, Folly and Time</a><sup id="cite_ref-16" class="reference"><a href="#cite_note-16">[16]</a></sup></i> and appeared in the opening credits.\n</p><p>Notable Gilliam sequences for the show include Conrad Poohs and his Dancing Teeth, the rampage of the cancerous black spot, The Killer Cars and a giant cat that stomps its way through London, destroying everything in its path.\n</p><p>Initially only hired to be the animator of the series, Gilliam was not thought of (even by himself) as an on-screen performer at first, being American and not very good at the deep and sometimes exaggerated English accent of his fellows. The others felt they owed him something and so he sometimes appeared before the camera, usually in the parts that no one else wanted to play, generally because they required a lot of make-up or involved uncomfortable costumes.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17">[17]</a></sup> The most recurrent of these was The-Knight-Who-Hits-People-With-A-Chicken, a knight in armour who would walk on-set and hit another character on the head with a plucked chicken either to end a sketch or when they said something really corny. Some of Gilliam\'s other on-screen portrayals included:\n</p>\n<ul><li>A man with a <a href="/wiki/Stoat" title="Stoat">stoat</a> through his head</li>\n<li>Cardinal Fang in "<a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a>"</li>\n<li>A dandy wearing only a mask, bikini underwear and a cape, in "The Visitors"</li>\n<li>A hotel clerk in "The Cycling Tour" episode</li>\n<li>A trouser-less man with a multi coloured wig and a Goat on a lead asking for "Mrs. Rogers" at the start of the New Gas Cooker sketch.</li>\n<li>A fat and appallingly <a href="/wiki/Flatulence" title="Flatulence">flatulent</a> young man obsessed with (and covered in) <a href="/wiki/Baked_beans" title="Baked beans">baked beans</a> in the "Most Awful Family In Britain" sketch.</li>\n<li>A wheelchair using security guard, sporting an enormous sword through his head.</li>\n<li><a href="/wiki/Percy_Bysshe_Shelley" title="Percy Bysshe Shelley">Percy Bysshe Shelley</a> in the "Michael Ellis" episode</li></ul>\n<p>Gilliam soon became distinguished as the go-to member for the most obscenely grotesque characters. This carried over into the <i>Holy Grail</i> film, where Gilliam played King Arthur\'s hunchbacked page \'Patsy\' and the bridgekeeper at the Bridge of Death as well as the \'deaf and mad\' jailer in <i>Life of Brian</i>. It has also been claimed that he was originally asked by Terry Jones to play Mr. Creosote in <i>The Meaning of Life</i>, but turned it down.\n</p>\n<h3><span class="mw-headline" id="Idle">Idle</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=11" title="Edit section: Idle">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a> is known for his roles as a cheeky, suggestive playboy ("<a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a>"), a variety of pretentious television presenters (such as his over-the-top portrayal of <a href="/wiki/Philip_Jenkinson" title="Philip Jenkinson">Philip Jenkinson</a> in the segments connecting the "<a href="/wiki/Cheese_Shop_sketch" title="Cheese Shop sketch">Cheese Shop</a>" and "<a href="/wiki/Sam_Peckinpah%27s_%22Salad_Days%22" title="Sam Peckinpah's "Salad Days"">Salad Days</a>" sketches), a crafty, slick salesman ("Door-to-Door Joke Salesman", "Encyclopedia Salesman") and the merchant who loves to haggle in <i><a href="/wiki/Monty_Python%E2%80%99s_Life_of_Brian" class="mw-redirect" title="Monty Python’s Life of Brian">Monty Python’s Life of Brian</a></i>. He is acknowledged as \'the master of the one-liner\' by the other Pythons, along with his ability to deliver extensive, sometimes maniacal monologues with barely a breath, such as in "The Money Programme".<sup id="cite_ref-18" class="reference"><a href="#cite_note-18">[18]</a></sup> He is also considered the best singer/songwriter in the group; for example, he played guitar in several sketches and wrote and performed "<a href="/wiki/Always_Look_on_the_Bright_Side_of_Life" title="Always Look on the Bright Side of Life">Always Look on the Bright Side of Life</a>" from <i>The Life of Brian</i>.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19">[19]</a></sup> Unlike Jones, he often played female characters in a more straightforward way, only altering his voice slightly, as opposed to the falsetto shrieking used by the others. Several times, Idle appeared as upper-class, <a href="/wiki/Middle-aged" class="mw-redirect" title="Middle-aged">middle-aged</a> women, such as Rita Fairbanks ("Reenactment of the Battle of Pearl Harbor") and the sexually-repressed Protestant wife in the "<a href="/wiki/Every_Sperm_is_Sacred" class="mw-redirect" title="Every Sperm is Sacred">Every Sperm is Sacred</a>" sketch, in <i>The Meaning of Life</i>.\n</p><p>Because he was not from an already-established writing partnership prior to Python, Idle wrote his sketches alone.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20">[20]</a></sup>\n</p>\n<h3><span class="mw-headline" id="Jones">Jones</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=12" title="Edit section: Jones">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>Although all of the Pythons played women, <a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a> is renowned by the rest to be \'the best Rat-Bag woman in the business\'.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> His portrayal of a middle-aged housewife was louder, shriller, and more dishevelled than that of any of the other Pythons. Examples of this are the "<a href="/wiki/Dead_Bishop" class="mw-redirect" title="Dead Bishop">Dead Bishop</a>" sketch, his role as Brian\'s mother Mandy in <i><a href="/wiki/Life_of_Brian" class="mw-redirect" title="Life of Brian">Life of Brian</a></i>, Mrs Linda S-C-U-M in "Mr Neutron" and the café proprietor in "<a href="/wiki/Spam_(Monty_Python)" title="Spam (Monty Python)">Spam</a>". Also recurring was the upper-class reserved men, in "<a href="/wiki/Nudge,_Nudge" class="mw-redirect" title="Nudge, Nudge">Nudge, Nudge</a>" and the "It\'s a Man\'s Life" sketch, and incompetent authority figures (<a href="/wiki/Harry_%22Snapper%22_Organs" class="mw-redirect" title="Harry "Snapper" Organs">Harry "Snapper" Organs</a>). He also played the iconic Nude Organist that introduced all of series three. Generally, he deferred to the others as a performer, but proved himself behind the scenes, where he would eventually end up pulling most of the strings.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> Jones also portrayed the tobacconist in the "Hungarian translation sketch" and the enormously fat and bucket-vomiting <a href="/wiki/Mr._Creosote" class="mw-redirect" title="Mr. Creosote">Mr. Creosote</a> in <a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python's The Meaning of Life">Meaning of Life</a>.\n</p>\n<h3><span class="mw-headline" id="Palin">Palin</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=13" title="Edit section: Palin">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a> was regarded by the other members of the troupe as the one with the widest range, equally adept as a <a href="https://en.wiktionary.org/wiki/Straight_man" class="extiw" title="wiktionary:Straight man">straight man</a> or wildly over the top character.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> He portrayed many working-class northerners, often portrayed in a disgusting light: "<a href="/wiki/The_Funniest_Joke_in_the_World" title="The Funniest Joke in the World">The Funniest Joke in the World</a>" sketch and the "<a href="/wiki/Every_Sperm_Is_Sacred" title="Every Sperm Is Sacred">Every Sperm Is Sacred</a>" segment of <i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python's The Meaning of Life">Monty Python\'s The Meaning of Life</a></i>. In contrast, Palin also played weak-willed, put-upon men such as the husband in the "<a href="/wiki/Marriage_Guidance_Counsellor" title="Marriage Guidance Counsellor">Marriage Guidance Counsellor</a>" sketch, the boring accountant in the "<a href="/wiki/Vocational_Guidance_Counsellor" title="Vocational Guidance Counsellor">Vocational Guidance Counsellor</a>" sketch, and the hapless client in the "<a href="/wiki/Argument_Clinic" title="Argument Clinic">Argument Clinic</a>". He was equally at home as the indefatigable Cardinal Ximinez of Spain in "<a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a>" sketch. Another high-energy character that Palin portrays is the slick TV show host, constantly smacking his lips together and generally being over-enthusiastic ("<a href="/wiki/And_Now_for_Something_Completely_Different#Sketches" title="And Now for Something Completely Different">Blackmail</a>" sketch). In one sketch, he plays the role with an underlying hint of self-revulsion, where he wipes his oily palms on his jacket, makes a disgusted face, then continues. One of his most famous creations<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> was the shopkeeper who attempts to sell useless goods by very weak attempts at being sly and crafty, which are invariably spotted by the customer (often played by Cleese), as in the "<a href="/wiki/Dead_Parrot" class="mw-redirect" title="Dead Parrot">Dead Parrot</a>" and "<a href="/wiki/Cheese_Shop_sketch" title="Cheese Shop sketch">Cheese Shop</a>" sketches. Palin is also well known for his leading role in "<a href="/wiki/The_Lumberjack_Song" title="The Lumberjack Song">The Lumberjack Song</a>".\n</p><p>Palin also often plays heavy-accented foreigners, mostly French ("La marche futile") or German ("Hitler in Minehead"), usually alongside Cleese. In one of the last episodes, he delivers a full speech, first in English, then in French, then in heavily accented German.\n</p><p>Of all the Pythons, Palin played the fewest female roles.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> Among his portrayals of women are <a href="/wiki/Queen_Victoria" title="Queen Victoria">Queen Victoria</a> in the "Michael Ellis" episode, Debbie Katzenberg the American in <i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python's The Meaning of Life">Monty Python\'s The Meaning of Life</a></i>, a rural idiot\'s wife in the "Idiot in rural society" sketch, and an implausible English housewife who is married to <a href="/wiki/Jean-Paul_Sartre" title="Jean-Paul Sartre">Jean-Paul Sartre</a>.\n</p>\n<h2><span class="mw-headline" id="Production">Production</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=14" title="Edit section: Production">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p>The first five episodes of the series were produced by <a href="/wiki/John_Howard_Davies" title="John Howard Davies">John Howard Davies</a>, with Davies serving as studio director, and <a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a> acting as location director. From the sixth episode onwards, MacNaughton became the producer and sole director on the series. Other regular team members included Hazel Pethig (costumes), Madelaine Gaffney (makeup) and John Horton (video effects designer). Maggie Weston, who worked on both makeup and design, married Gilliam in 1973 and they remain together. The series was primarily filmed in London studios and nearby locations, although location shooting to take in beaches and villages included filming in <a href="/wiki/Somerset" title="Somerset">Somerset</a>, <a href="/wiki/Norwich" title="Norwich">Norwich</a> and the island of <a href="/wiki/Jersey" title="Jersey">Jersey</a>.\n</p><p>Pre-production of the series had started by April 1969. Documents from the BBC showed that the viability of the show had been threatened around this time when Cleese reminded the BBC that he was still under contract from David Frost\'s <a href="/wiki/David_Paradine_Productions" title="David Paradine Productions">David Paradine Productions</a>, who wanted to co-produce the show. The BBC memos indicated the potential of holding off the show until 1971, when Cleese\'s contract with Paradine expired, but ultimately the situation was resolved, though the details of these negotiations have been lost.<sup id="cite_ref-irish_times_50th_21-0" class="reference"><a href="#cite_note-irish_times_50th-21">[21]</a></sup>\n</p>\n<h2><span class="mw-headline" id="Broadcast">Broadcast</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=15" title="Edit section: Broadcast">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<h3><span class="mw-headline" id="Original_broadcast">Original broadcast</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=16" title="Edit section: Original broadcast">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The first episode aired on the BBC on Sunday, 5 October 1969, at 10:50 p.m.<sup id="cite_ref-irish_times_50th_21-1" class="reference"><a href="#cite_note-irish_times_50th-21">[21]</a></sup> The BBC had to reassure some of its workers (who were considering going on strike and who thought the show was replacing a late-night, religious/devotional programme) by asserting that it was using the alternative programming to give clergymen time off on their busiest day.<sup id="cite_ref-irish_times_50th_21-2" class="reference"><a href="#cite_note-irish_times_50th-21">[21]</a></sup> The first episode did not fare well in terms of audience, capturing only about 3% of the total UK population, roughly 1.5 million, compared to <i><a href="/wiki/Dad%27s_Army" title="Dad's Army">Dad\'s Army</a></i> that had 22% on the Thursday of that same week. In addition to the lowest audience figures for shows during that week, the first episode has had the lowest <a href="/wiki/Appreciation_Index" title="Appreciation Index">Appreciation Index</a> for any of the BBC\'s light entertainment programmes.<sup id="cite_ref-independent_BBC_22-0" class="reference"><a href="#cite_note-independent_BBC-22">[22]</a></sup><sup id="cite_ref-irish_times_50th_21-3" class="reference"><a href="#cite_note-irish_times_50th-21">[21]</a></sup> While public reception improved over the course of the first series, certain BBC executives had already conceived a dislike for the show, with some BBC documents describing the show as "disgusting and nihilistic".<sup id="cite_ref-independent_BBC_22-1" class="reference"><a href="#cite_note-independent_BBC-22">[22]</a></sup> Some within the BBC had been more upbeat on how the first series had turned out and had congratulated the group accordingly, but a more general dislike for the show had already made an impact on the troupe, with Cleese announcing that he would be unlikely to continue to participate after the making of the second series.<sup id="cite_ref-independent_BBC_22-2" class="reference"><a href="#cite_note-independent_BBC-22">[22]</a></sup> Separately, the BBC had to re-edit several of the first series\' episodes to remove the personal address and phone number for <a href="/wiki/David_Frost" title="David Frost">David Frost</a> that the troupe had included in some sketches.<sup id="cite_ref-telegraph_bbc_23-0" class="reference"><a href="#cite_note-telegraph_bbc-23">[23]</a></sup>\n</p><p>The second series, while more popular than the first, further strained relations between the troupe and the BBC. Two of the sketches from the series finale "Royal Episode 13" were called out by BBC executives in a December 1970 meeting: "The Queen Will be Watching" in which the troupe mocks <a href="/wiki/God_Save_the_Queen" title="God Save the Queen">the UK national anthem</a>, and the "<a href="/wiki/Undertakers_sketch" title="Undertakers sketch">Undertakers sketch</a>" which took a comedic turn on how to dispose of the body of a loved one.<sup id="cite_ref-independent_BBC_22-3" class="reference"><a href="#cite_note-independent_BBC-22">[22]</a></sup><sup id="cite_ref-telegraph_bbc_23-1" class="reference"><a href="#cite_note-telegraph_bbc-23">[23]</a></sup> The BBC executives criticised producer MacNaughton for not alerting them to the content prior to airing.<sup id="cite_ref-telegraph_bbc_23-2" class="reference"><a href="#cite_note-telegraph_bbc-23">[23]</a></sup> According to Palin, via his published diary, the BBC started to censor the programme within the third series following this.<sup id="cite_ref-telegraph_bbc_23-3" class="reference"><a href="#cite_note-telegraph_bbc-23">[23]</a></sup>\n</p><p>Cleese remained for the third series but left afterwards. Cleese cited that he was no longer interested in the show, believing most of the material was rehashes of prior skits.<sup id="cite_ref-auto_24-0" class="reference"><a href="#cite_note-auto-24">[24]</a></sup> He also found it more difficult to work with Chapman who was struggling with alcoholism at the time.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25">[25]</a></sup> The remaining Pythons, however, went on to produce a shortened fourth series, of which only six episodes were made prior to their decision to end the show prematurely, the final episode being broadcast on 5 December 1974.\n</p>\n<h3><span class="mw-headline" id="Lost_sketches">Lost sketches</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=17" title="Edit section: Lost sketches">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The first cut that the BBC forced on the show was the removal of David Frost\'s phone number from re-airings of the second episode of the first season, <i>Sex and Violence</i>, in the sketch "The Mouse Problem". The Pythons had slipped in a real contact number for David Frost to the initial airing, which resulted in numerous viewers bothering him.\n</p><p>Some material originally recorded went missing later, such as the use of the word "<a href="/wiki/Masturbation" title="Masturbation">masturbating</a>" in the "Summarize Proust" sketch (which was muted during the first airing, and later cut out entirely) or "What a silly bunt" in the Travel Agent sketch (which featured a character [Idle] who has a speech impediment that makes him pronounce "C"s as "B"s),<sup id="cite_ref-26" class="reference"><a href="#cite_note-26">[26]</a></sup> which was cut before the sketch ever went to air. However, when this sketch was included in the album <i><a href="/wiki/Monty_Python%27s_Previous_Record" title="Monty Python's Previous Record">Monty Python\'s Previous Record</a></i> and the <i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Live at the Hollywood Bowl</a></i> film, the line remained intact. Both sketches were included in the Danish <a href="/wiki/DR_K" title="DR K">DR K</a> re-airing of all episodes ("Episode 31", aired 1 November 2018, 6:50 pm).<sup id="cite_ref-27" class="reference"><a href="#cite_note-27">[27]</a></sup>\n</p><p>Some sketches were deleted in their entirety and later recovered. One such sketch is the "Party Political Broadcast (Choreographed)", where a Conservative Party spokesman (Cleese) delivers a party political broadcast before getting up and dancing, being coached by a choreographer (Idle), and being joined by a chorus of spokesmen dancing behind him. The camera passes two Labour Party spokesmen practising ballet, and an animation featuring <a href="/wiki/Edward_Heath" title="Edward Heath">Edward Heath</a> in a tutu. Once deemed lost, a home-recorded tape of this sketch, captured from a broadcast from <a href="/wiki/Buffalo,_New_York" title="Buffalo, New York">Buffalo, New York</a> PBS outlet <a href="/wiki/WNED-TV" title="WNED-TV">WNED-TV</a>, turned up on <a href="/wiki/YouTube" title="YouTube">YouTube</a> in 2008.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28">[28]</a></sup> Another high-quality recording of this sketch, broadcast on <a href="/wiki/WTTW" title="WTTW">WTTW</a> in Chicago, has also turned up on YouTube.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29">[29]</a></sup> The Buffalo version can be seen as an extra on the new <a href="/wiki/DVD_region_code#2" title="DVD region code">Region 2</a>/<a href="/wiki/DVD_Region_code" class="mw-redirect" title="DVD Region code">4</a> eight-disc <i>The Complete Monty Python\'s Flying Circus</i> DVD set.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2012)">citation needed</span></a></i>]</sup> The <a href="/wiki/DVD_region_code#1" title="DVD region code">Region 1</a> DVD of <i>Before The Flying Circus</i>, which is included in <i>The Complete Monty Python\'s Flying Circus Collector\'s Edition Megaset</i> and <i>Monty Python: The Other British Invasion</i>, also contains the Buffalo version as an extra.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30">[30]</a></sup>\n</p><p>Another lost sketch is the "Satan" animation following the "Crackpot Religion" piece and the "Cartoon Religion Ltd" animation, and preceding the "<a href="/wiki/How_Not_To_Be_Seen" class="mw-redirect" title="How Not To Be Seen">How Not To Be Seen</a>" sketch: this had been edited out of the official tape. Six frames of the animation can be seen at the end of the episode, wherein that particular episode is repeated in fast-forward. A black and white 16 mm film print has since turned up (found by a private film collector in the US) showing the animation in its entirety.\n</p><p>At least two references to cancer were censored, both during the second series. In the sixth episode ("It\'s A Living" or "School Prizes"), <a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a>\'s narration of a Gilliam cartoon suddenly has a male voice dub \'<a href="/wiki/Gangrene" title="Gangrene">gangrene</a>\' over the word cancer (although this word was used unedited when the animation appeared in the movie <i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i>; the 2006 special <i><a href="/wiki/Monty_Python%27s_Personal_Best" title="Monty Python's Personal Best">Terry Gilliam\'s Personal Best</a></i> uses this audio to restore the censored line). Another reference was removed from the sketch "Conquistador Coffee Campaign", in the eleventh episode "How Not to Be Seen", although a reference to <a href="/wiki/Leprosy" title="Leprosy">leprosy</a> remained intact. This line has also been recovered from the same 16 mm film print as the above-mentioned "Satan" animation.\n</p><p>A sketch from Episode 7 of Series 2 (subtitled \'The Attila the Hun Show\') featured a parody of <a href="/wiki/Michael_Miles" title="Michael Miles">Michael Miles</a>, the 1960s TV <a href="/wiki/Game_show" title="Game show">game show</a> host (played by Cleese), and was introduced as \'Spot The Braincell\'. This sketch was deleted shortly afterwards from a repeat broadcast as a mark of respect following Miles\' death in February 1971. Also, the controversial "Undertaker" sketch from Episode 13 of the same series was removed by the BBC after negative reviewer response. Both of these sketches have been restored to the official tapes, although the only source for the Undertaker sketch was an NTSC copy of the episode, duplicated before the cut had been made.\n</p><p>Animation in episode 9 of series 3 was cut out following the initial broadcast. The animation was a parody of a German commercial, and the original owners complained about the music use, so the BBC simply removed part of the animation, and replaced the music with a song from a Python album. Terry Gilliam later complained about the cut, thinking it was because producer Ian McNaughton "just didn\'t get what it was and he cut it. That was a big mistake."<sup id="cite_ref-31" class="reference"><a href="#cite_note-31">[31]</a></sup>\n</p><p>Music copyright issues have resulted in at least two cuts. In episode 209, Graham Chapman as a Pepperpot sings "<a href="/wiki/The_Girl_from_Ipanema" title="The Girl from Ipanema">The Girl from Ipanema</a>", but some versions use "<a href="/wiki/Jeanie_with_the_Light_Brown_Hair" title="Jeanie with the Light Brown Hair">Jeanie with the Light Brown Hair</a>", which is public domain. In the bus conductor sketch in episode 312, a brief parody of "<a href="/wiki/Tonight_(1956_song)" class="mw-redirect" title="Tonight (1956 song)">Tonight</a>" from <i>West Side Story</i> has been removed from recent releases. There have also been reports of substituting different performances of classical music in some uses, presumably because of performance royalties.\n</p><p>A Region 2 DVD release of Series 1–4 was released by Sony in 2007. This included certain things which had been cut from the US A&E releases, including the "masturbation" line, but failed to reinstate most of the long-lost sketches and edits. A Blu-ray release of the series featuring every episode restored to its original uncut broadcast length was released by Network for the show\'s 50th anniversary in 2019.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32">[32]</a></sup>\n</p><p>Rediscovered sketch Ursula Hitler, once deemed impossible to find, was rereleased with the 50th issue in 2019.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33">[33]</a></sup>\n</p>\n<h3><span class="mw-headline" id="American_television">American television</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=18" title="Edit section: American television">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>At the time of the original broadcasting of <i>Monty Python</i> in the United Kingdom, the BBC used <a href="/wiki/Time-Life_Television" class="mw-redirect" title="Time-Life Television">Time-Life Television</a> to distribute its shows in the United States. For <i>Monty Python</i>, Time-Life had been concerned that the show was "too British" in its humour to reach American audiences, and did not opt to bring the programme across.<sup id="cite_ref-new_yorker_1976_34-0" class="reference"><a href="#cite_note-new_yorker_1976-34">[34]</a></sup> However, the show became a fixture on the <a href="/wiki/Canadian_Broadcasting_Corporation" title="Canadian Broadcasting Corporation">Canadian Broadcasting Corporation</a> beginning in the fall of 1970, and hence was also seen in some American markets.<sup id="cite_ref-FlyingCircusCanada_35-0" class="reference"><a href="#cite_note-FlyingCircusCanada-35">[35]</a></sup>\n</p><p>The Python\'s first film, <i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i>, a selection of skits from the show released in the UK in 1971 and in the United States in 1972, was not a hit in the USA.<sup id="cite_ref-new_yorker_1976_34-1" class="reference"><a href="#cite_note-new_yorker_1976-34">[34]</a></sup> During their first North American tour in 1973, the Pythons performed twice on US television, firstly on <i><a href="/wiki/The_Tonight_Show" title="The Tonight Show">The Tonight Show</a></i>, hosted by Joey Bishop, and then on <i><a href="/wiki/The_Midnight_Special_(TV_series)" title="The Midnight Special (TV series)">The Midnight Special</a></i>. The group spoke of how badly the first appearance went down with the audience; Idle described <i>The Tonight Show</i> performance: "We did thirty minutes [thirty minutes\' worth of material] in fifteen minutes to no laughs whatsoever. We ran out onto the green grass in Burbank and we lay down and laughed for 15 minutes because it was the funniest thing ever. In America they didn’t know what on earth we were talking about."<sup id="cite_ref-Teod_36-0" class="reference"><a href="#cite_note-Teod-36">[36]</a></sup>\n</p><p>Despite the poor reception on their live appearances on American television, the Pythons\' American manager, Nancy Lewis, began to push the show herself into the States. In 1974, the <a href="/wiki/PBS" title="PBS">PBS</a> member station <a href="/wiki/KERA-TV" title="KERA-TV">KERA</a> in <a href="/wiki/Dallas" title="Dallas">Dallas</a> was the first television station in the United States to broadcast episodes of <i>Monty Python\'s Flying Circus</i>, and is often credited with introducing the programme to American audiences.<sup id="cite_ref-dallas_news_37-0" class="reference"><a href="#cite_note-dallas_news-37">[37]</a></sup> Many other PBS stations acquired the show, and by 1975, it was often the most popular show on these stations.<sup id="cite_ref-new_yorker_1976_34-2" class="reference"><a href="#cite_note-new_yorker_1976-34">[34]</a></sup> <i>And Now for Something Completely Different</i> was re-released to American theaters in 1974 and had a much better box office take that time. That would also set the stage for the Pythons\' next film, <i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i>, released near simultaneously in the UK and the United States in April 1975, to also perform well in American theaters.<sup id="cite_ref-Teod_36-1" class="reference"><a href="#cite_note-Teod-36">[36]</a></sup><sup id="cite_ref-38" class="reference"><a href="#cite_note-38">[38]</a></sup> The popularity of <i>Monty Python\'s Flying Circus</i> helped to open the door for other British television series to make their way into the United States via PBS and its member stations.<sup id="cite_ref-StewartStewart1999_39-0" class="reference"><a href="#cite_note-StewartStewart1999-39">[39]</a></sup> One notable American fan of <i>Monty Python</i> was singer <a href="/wiki/Elvis_Presley" title="Elvis Presley">Elvis Presley</a>. Billy Smith, Presley\'s cousin noted that during the last few months of Elvis\' life in 1977, when Elvis was addicted to prescription drugs and mainly confined to his bedroom at his mansion <a href="/wiki/Graceland" title="Graceland">Graceland</a>, Elvis would sit at his room and chat with Smith for hours about various topics including among other things, Presley\'s favourite <i>Monty Python</i> sketches.<sup id="cite_ref-FOOTNOTEGuralnick1999212,_642_40-0" class="reference"><a href="#cite_note-FOOTNOTEGuralnick1999212,_642-40">[40]</a></sup>\n</p><p>With the rise in American popularity, the <a href="/wiki/American_Broadcasting_Company" title="American Broadcasting Company">ABC</a> network acquired rights to show select episodes of <i>Monty Python\'s Flying Circus</i> in their <i><a href="/wiki/Wide_World_of_Entertainment" class="mw-redirect" title="Wide World of Entertainment">Wide World of Entertainment</a></i> showcase in mid 1975. However, ABC re-edited the episodes, thus losing the continuity and flow intended in the originals. When ABC refused to stop treating the series in this way, the Pythons took them to court. Initially the court ruled that their artistic rights had indeed been violated, but it refused to stop the ABC broadcasts. However, on appeal the team gained control over all subsequent US broadcasts of its programmes.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41">[41]</a></sup><sup id="cite_ref-new_yorker_1976_34-3" class="reference"><a href="#cite_note-new_yorker_1976-34">[34]</a></sup> The case also led to their gaining the master tapes of the series from the BBC, once their original contracts ended at the end of 1980.\n</p><p>The show also aired on <a href="/wiki/MTV" title="MTV">MTV</a> in 1988.<sup id="cite_ref-42" class="reference"><a href="#cite_note-42">[42]</a></sup> <i>Monty Python</i> was part of a two-hour comedy block on Sunday nights that also included another BBC series, <i><a href="/wiki/The_Young_Ones_(TV_series)" title="The Young Ones (TV series)">The Young Ones</a></i>.\n</p><p>In April 2006, <i>Monty Python\'s Flying Circus</i> returned to non-cable American television directly through PBS. In connection with this, PBS commissioned <i><a href="/wiki/Monty_Python%27s_Personal_Best" title="Monty Python's Personal Best">Monty Python\'s Personal Best</a></i>, a six-episode series featuring each Python’s favourite sketches, plus a tribute to Chapman, who died in 1989. <a href="/wiki/BBC_America" title="BBC America">BBC America</a> has aired the series on a sporadic basis since the mid-2000s, in an extended 40-minute time slot in order to include commercials. <a href="/wiki/IFC_(American_TV_channel)" title="IFC (American TV channel)">IFC</a> acquired the rights to the show in 2009, though not exclusive, as BBC America still airs occasional episodes of the show. IFC also presented a six-part documentary <i><a href="/wiki/Monty_Python:_Almost_the_Truth_(The_Lawyers_Cut)" class="mw-redirect" title="Monty Python: Almost the Truth (The Lawyers Cut)">Monty Python: Almost the Truth (The Lawyers Cut)</a></i>, produced by Terry Jones\'s son Bill.\n</p>\n<h2><span class="mw-headline" id="Subsequent_projects">Subsequent projects</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=19" title="Edit section: Subsequent projects">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Monty_Python#Life_beyond_the_Flying_Circus" title="Monty Python">Monty Python § Life beyond the Flying Circus</a>, and <a href="/wiki/List_of_Monty_Python_projects" title="List of Monty Python projects">List of Monty Python projects</a></div>\n<h3><span class="mw-headline" id="Live_shows_with_original_cast">Live shows with original cast</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=20" title="Edit section: Live shows with original cast">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>The members of Monty Python embarked on a series of stage shows during and after the television series. These mostly consisted of sketches from the series, though they also revived material which predated it. One such sketch was the <a href="/wiki/Four_Yorkshiremen_sketch" title="Four Yorkshiremen sketch">Four Yorkshiremen sketch</a>, written by Cleese and Chapman with <a href="/wiki/Marty_Feldman" title="Marty Feldman">Marty Feldman</a> and <a href="/wiki/Tim_Brooke-Taylor" title="Tim Brooke-Taylor">Tim Brooke-Taylor</a>, and originally performed for <i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i>; the sketch subsequently became part of the live Python repertoire. The shows also included songs from collaborator <a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a>.\n</p><p>Recordings of four of these stage shows have subsequently appeared as separate works:\n</p>\n<ol><li><a href="/wiki/Monty_Python_Live_at_Drury_Lane" class="mw-redirect" title="Monty Python Live at Drury Lane">Monty Python Live at Drury Lane</a> (aka Monty Python Live at the Theatre Royal, Drury Lane), released in the UK in 1974 as their fifth record album</li>\n<li><a href="/wiki/Monty_Python_Live_at_City_Center" title="Monty Python Live at City Center">Monty Python Live at City Center</a>, performed in New York City and released as a record in 1976 in the US</li>\n<li><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Monty Python Live at the Hollywood Bowl</a>, recorded in Los Angeles in 1980 and released as a film in 1982</li>\n<li><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Monty Python Live (Mostly): One Down, Five to Go</a>, the troupe\'s reunion / farewell show, ran for 10 shows at <a href="/wiki/The_O2_Arena" title="The O2 Arena">The O2 Arena</a> in London in July 2014. The final performance on 20 July was live streamed to cinemas worldwide. A re-edited version was later released on Blu-ray, DVD and double Compact Disc; the CD version is exclusive to the deluxe version of the release which contains all 3 formats on four discs housed in a 60-page hardback book.</li></ol>\n<p>Graham Chapman and Michael Palin also performed on stage at the <a href="/wiki/Concerts_at_Knebworth_House" class="mw-redirect" title="Concerts at Knebworth House">Knebworth Festival</a> in 1975 with <a href="/wiki/Pink_Floyd" title="Pink Floyd">Pink Floyd</a>.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43">[43]</a></sup>\n</p>\n<h3><span class="mw-headline" id="French_adaptation">French adaptation</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=21" title="Edit section: French adaptation">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<p>In 2005, a troupe of actors headed by Rémy Renoux translated and "adapted" a stage version of <i>Monty Python’s Flying Circus</i> into French. Usually the original actors defended their material very closely, but given in this case the "adaptation" and also the translation into French (with subtitles), the group supported this production. The adapted material largely adhered to the original text, primarily deviating when it came to ending a sketch, something the Python members themselves changed many times over the course of their stage performances.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44">[44]</a></sup><sup id="cite_ref-45" class="reference"><a href="#cite_note-45">[45]</a></sup>\nLanguage differences also occur in the lyrics of several songs. For example, "<a href="/wiki/Sit_on_My_Face" title="Sit on My Face">Sit on My Face</a>" (which translated into French would be "Asseyez-vous sur mon visage") becomes "cum in my mouth".<sup id="cite_ref-46" class="reference"><a href="#cite_note-46">[46]</a></sup>\n</p>\n<h2><span class="mw-headline" id="Reception">Reception</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=22" title="Edit section: Reception">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<h3><span class="mw-headline" id="Awards_and_honours">Awards and honours</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=23" title="Edit section: Awards and honours">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<table class="wikitable">\n\n<tbody><tr>\n<th>Year</th>\n<th>Award</th>\n<th>Category</th>\n<th>Nominee(s)</th>\n<th>Result\n</th></tr>\n<tr>\n<td rowspan="5">1970</td>\n<td rowspan="10"><a href="/wiki/BAFTA_TV_Award" class="mw-redirect" title="BAFTA TV Award">BAFTA TV Award</a></td>\n<td rowspan="2">Special Award</td>\n<td><i>Monty Python\'s Flying Circus</i><br /><span style="font-size:85%;">For the production, writing and performances.</span></td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr>\n<tr>\n<td><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a><br /><span style="font-size:85%;">For the graphics.</span></td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr>\n<tr>\n<td>Best Light Entertainment</td>\n<td><a href="/wiki/John_Howard_Davies" title="John Howard Davies">John Howard Davies</a><br /><a href="/wiki/Ian_MacNaughton" title="Ian MacNaughton">Ian MacNaughton</a></td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Light Entertainment Personality</td>\n<td><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a></td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Script</td>\n<td>Writing Team</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td rowspan="2">1971</td>\n<td>Best Light Entertainment Performance</td>\n<td>John Cleese</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Light Entertainment Production</td>\n<td>Ian MacNaughton</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td rowspan="2">1973</td>\n<td>Best Light Entertainment Performance</td>\n<td><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>Best Light Entertainment Programme</td>\n<td>Ian MacNaughton</td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr>\n<tr>\n<td>1975</td>\n<td>Best Light Entertainment Programme</td>\n<td>Ian MacNaughton</td>\n<td style="background: #FFE3E3; color: black; vertical-align: middle; text-align: center;" class="no table-no2">Nominated\n</td></tr>\n<tr>\n<td>2008</td>\n<td>Online Film & Television Association Awards</td>\n<td>OFTA TV Hall of Fame</td>\n<td><i>Monty Python\'s Flying Circus</i></td>\n<td style="background: #9EFF9E; color: #000; vertical-align: middle; text-align: center;" class="yes table-yes2">Won\n</td></tr></tbody></table>\n<p><i>Monty Python\'s Flying Circus</i> placed fifth on a list of the <a href="/wiki/BFI_TV_100" title="BFI TV 100">BFI TV 100</a>, drawn up by the <a href="/wiki/British_Film_Institute" title="British Film Institute">British Film Institute</a> in 2000, and voted for by industry professionals.\n</p><p><i><a href="/wiki/Time_(magazine)" title="Time (magazine)">Time</a></i> magazine included the show on its 2007 list of the "100 Best TV Shows of All Time".<sup id="cite_ref-47" class="reference"><a href="#cite_note-47">[47]</a></sup>\n</p><p>In a list of the 50 Greatest British Sketches released by <a href="/wiki/Channel_4" title="Channel 4">Channel 4</a> in 2005, five Monty Python sketches made the list:<sup id="cite_ref-48" class="reference"><a href="#cite_note-48">[48]</a></sup>\n</p>\n<ul><li>#2 – <a href="/wiki/Dead_Parrot" class="mw-redirect" title="Dead Parrot">Dead Parrot</a></li>\n<li>#12 – <a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">The Spanish Inquisition</a></li>\n<li>#15 – <a href="/wiki/Ministry_of_Silly_Walks" class="mw-redirect" title="Ministry of Silly Walks">Ministry of Silly Walks</a></li>\n<li>#31 – <a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a></li>\n<li>#49 – <a href="/wiki/The_Lumberjack_Song" title="The Lumberjack Song">The Lumberjack Song</a></li></ul>\n<p>In 2004<sup id="cite_ref-49" class="reference"><a href="#cite_note-49">[49]</a></sup> and 2007, <i>Monty Python\'s Flying Circus</i> was ranked #5 and #6 on TV Guide\'s Top Cult Shows Ever.<sup id="cite_ref-50" class="reference"><a href="#cite_note-50">[50]</a></sup>\n</p><p>In 2013, the programme was ranked #58 on TV Guide\'s list of the 60 Best Series of All Time.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51">[51]</a></sup>\n</p>\n<h3><span class="mw-headline" id="Legacy">Legacy</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=24" title="Edit section: Legacy">edit</a><span class="mw-editsection-bracket">]</span></span></h3>\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"/><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Monty_Python#Cultural_influence_and_legacy" title="Monty Python">Monty Python § Cultural influence and legacy</a></div>\n<p><a href="/wiki/Douglas_Adams" title="Douglas Adams">Douglas Adams</a>, creator of <i><a href="/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy" title="The Hitchhiker's Guide to the Galaxy">The Hitchhiker\'s Guide to the Galaxy</a></i> and co-writer of the "<a href="/wiki/Patient_Abuse" title="Patient Abuse">Patient Abuse</a>" sketch, once said "I loved Monty Python\'s Flying Circus. For years I wanted to be John Cleese, I was most disappointed when I found out the job had been taken."<sup id="cite_ref-52" class="reference"><a href="#cite_note-52">[52]</a></sup>\n</p><p><a href="/wiki/Lorne_Michaels" title="Lorne Michaels">Lorne Michaels</a> counts the show as a major influence on his <i><a href="/wiki/Saturday_Night_Live" title="Saturday Night Live">Saturday Night Live</a></i> sketches.<sup id="cite_ref-53" class="reference"><a href="#cite_note-53">[53]</a></sup> Cleese and Palin re-enacted the <a href="/wiki/Dead_Parrot_sketch" title="Dead Parrot sketch">Dead Parrot sketch</a> on <i>SNL</i> in 1997.\n</p><p>The show was a major influence on the Danish <a href="/wiki/Cult_following" title="Cult following">cult</a> sketch show <i><a href="/wiki/Casper_%26_Mandrilaftalen" title="Casper & Mandrilaftalen">Casper & Mandrilaftalen</a></i> (1999)<sup id="cite_ref-54" class="reference"><a href="#cite_note-54">[54]</a></sup> and Cleese starred in its 50th episode.<sup id="cite_ref-dfi-mandrillen_55-0" class="reference"><a href="#cite_note-dfi-mandrillen-55">[55]</a></sup><sup id="cite_ref-56" class="reference"><a href="#cite_note-56">[56]</a></sup>\n</p><p>In computing, the term <a href="/wiki/Spam_(electronic)" class="mw-redirect" title="Spam (electronic)">spam</a> and the name of the <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python programming language</a><sup id="cite_ref-57" class="reference"><a href="#cite_note-57">[57]</a></sup> are both derived from the series.\n</p>\n<h2><span class="mw-headline" id="See_also">See also</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=25" title="Edit section: See also">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<ul><li><i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i></li>\n<li><i><a href="/wiki/Do_Not_Adjust_Your_Set" title="Do Not Adjust Your Set">Do Not Adjust Your Set</a></i></li></ul>\n<h2><span class="mw-headline" id="References">References</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=26" title="Edit section: References">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<p><b>Notes</b>\n</p>\n<style data-mw-deduplicate="TemplateStyles:r1011085734">.mw-parser-output .reflist{font-size:90%;margin-bottom:0.5em;list-style-type:decimal}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">\n<ol class="references">\n<li id="cite_note-telegraph-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-telegraph_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1067248974">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\\"""\\"""\'""\'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}</style><cite class="citation news cs1"><span class="cs1-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="https://www.telegraph.co.uk/obituaries/2016/08/02/fred-tomlinson-singer-on-monty-python--obituary/">"Fred Tomlinson, singer on Monty Python – obituary"</a></span>. <i><a href="/wiki/The_Daily_Telegraph" title="The Daily Telegraph">The Daily Telegraph</a></i>. 2 August 2016. <a rel="nofollow" class="external text" href="https://ghostarchive.org/archive/20220112/https://www.telegraph.co.uk/obituaries/2016/08/02/fred-tomlinson-singer-on-monty-python--obituary/">Archived</a> from the original on 12 January 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">15 August</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=The+Daily+Telegraph&rft.atitle=Fred+Tomlinson%2C+singer+on+Monty+Python+%E2%80%93+obituary&rft.date=2016-08-02&rft_id=https%3A%2F%2Fwww.telegraph.co.uk%2Fobituaries%2F2016%2F08%2F02%2Ffred-tomlinson-singer-on-monty-python--obituary%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-nytimes-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-nytimes_2-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFSlotnik2016" class="citation news cs1">Slotnik, Daniel E. (4 August 2016). <a rel="nofollow" class="external text" href="https://www.nytimes.com/2016/08/05/arts/television/fred-tomlinson-monty-python-singer-dies-at-88.html?_r=0">"Fred Tomlinson, Singer Who Led a \'Monty Python\' Troupe, Dies at 88"</a>. <i><a href="/wiki/New_York_Times" class="mw-redirect" title="New York Times">New York Times</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">15 August</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=New+York+Times&rft.atitle=Fred+Tomlinson%2C+Singer+Who+Led+a+%27Monty+Python%27+Troupe%2C+Dies+at+88&rft.date=2016-08-04&rft.aulast=Slotnik&rft.aufirst=Daniel+E.&rft_id=https%3A%2F%2Fwww.nytimes.com%2F2016%2F08%2F05%2Farts%2Ftelevision%2Ffred-tomlinson-monty-python-singer-dies-at-88.html%3F_r%3D0&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://books.google.com/books?id=nlDOICBmhbkC&pg=PA1295&lpg=PA1295&dq=band+of+the+grenadier+guards+monty+python%27s+flying+circus+the+liberty+bell&source=bl&ots=304YKKuc2Q&sig=z-YMEIxEKJn3XdYqXnV8nQvLlQQ&hl=en&sa=X&ved=0ahUKEwib8eyoz5_ZAhUIzIMKHZYlBMMQ6AEIfDAT#v=onepage&q=band%20of%20the%20grenadier%20guards%20monty%20python's%20flying%20circus%20the%20liberty%20bell&f=false"><i>All Music Guide to Classical Music: The Definitive Guide to Classical Music</i>. San Francisco, CA: Backbeat Books, 2005.</a> Retrieved February 11, 2018</span>\n</li>\n<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.theguardian.com/music/musicblog/2014/jul/11/monty-python-and-classical-music">Clark, Philip. "Monty Python: Sousa, two-sheds and musical subversions," <i>The Guardian</i>, Friday, July 11, 2014.</a> Retrieved February 12, 2018</span>\n</li>\n<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text">The term <i>flying circus</i> first being applied to Baron von Richthofen\'s <a href="/wiki/Jagdgeschwader_1_(World_War_1)" class="mw-redirect" title="Jagdgeschwader 1 (World War 1)">Jagdgeschwader 1</a>.</span>\n</li>\n<li id="cite_note-Palin_2008_650-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-Palin_2008_650_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Palin_2008_650_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFPalin2008" class="citation book cs1">Palin, Michael (2008). <i>Diaries 1969–1979 : the Python Years / Michael Palin</i>. Griffin. p. 650. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-312-38488-3" title="Special:BookSources/978-0-312-38488-3"><bdi>978-0-312-38488-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Diaries+1969%E2%80%931979+%3A+the+Python+Years+%2F+Michael+Palin&rft.pages=650&rft.pub=Griffin&rft.date=2008&rft.isbn=978-0-312-38488-3&rft.aulast=Palin&rft.aufirst=Michael&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=JpL12ilpDnQ&t=6m20s">"Live At Aspen"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">10 January</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Live+At+Aspen&rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DJpL12ilpDnQ%26t%3D6m20s&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><sup class="noprint Inline-Template"><span style="white-space: nowrap;">[<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title=" Dead YouTube link tagged February 2022">dead YouTube link</span></a></i>]</span></sup></span>\n</li>\n<li id="cite_note-FOOTNOTELarsen200813-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELarsen200813_8-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLarsen2008">Larsen 2008</a>, p. 13.</span>\n</li>\n<li id="cite_note-FOOTNOTELarsen2008292-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELarsen2008292_9-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLarsen2008">Larsen 2008</a>, p. 292.</span>\n</li>\n<li id="cite_note-FOOTNOTELarsen2008288-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELarsen2008288_10-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLarsen2008">Larsen 2008</a>, p. 288.</span>\n</li>\n<li id="cite_note-Gilliam_animation-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Gilliam_animation_11-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1"><a rel="nofollow" class="external text" href="http://www.openculture.com/2014/07/terry-gilliam-reveals-the-secrets-of-monty-python-animations.html">"Terry Gilliam Reveals the Secrets of Monty Python Animations: A 1974 How-To Guide"</a>. <i>Open Culture</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 August</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Open+Culture&rft.atitle=Terry+Gilliam+Reveals+the+Secrets+of+Monty+Python+Animations%3A+A+1974+How-To+Guide&rft_id=http%3A%2F%2Fwww.openculture.com%2F2014%2F07%2Fterry-gilliam-reveals-the-secrets-of-monty-python-animations.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">Sketches "An Appeal from the Vicar of St. Loony-up-the-Cream-Bun-and-Jam", "<a href="/wiki/Colin_%22Bomber%22_Harris_vs_Colin_%22Bomber%22_Harris" title="Colin "Bomber" Harris vs Colin "Bomber" Harris">The One-Man Wrestling Match</a>", "Johann Gambolputty..." and "<a href="/wiki/Argument_Clinic" title="Argument Clinic">Argument Clinic</a>"</span>\n</li>\n<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFZack_Handlen2011" class="citation book cs1">Zack Handlen (2011). <i>If You Like Monty Python...: Here Are Over 200 Movies, TV Shows and Other Oddities That You Will Love</i>. Limelight Editions. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9780879104320" title="Special:BookSources/9780879104320"><bdi>9780879104320</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=If+You+Like+Monty+Python...%3A+Here+Are+Over+200+Movies%2C+TV+Shows+and+Other+Oddities+That+You+Will+Love&rft.pub=Limelight+Editions&rft.date=2011&rft.isbn=9780879104320&rft.au=Zack+Handlen&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFChapmanCleeseGilliamIdle1989" class="citation book cs1">Chapman, Graham; Cleese, John; Gilliam, Terry; Idle, Eric; Jones, Terry; Palin, Michael (1989). Wilmut, Roger (ed.). <i>The Complete Monty Python\'s Flying Circus: All the Words, Volume One</i>. New York, New York: Pantheon Books. p. 320 (Appendix). <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-679-72647-0" title="Special:BookSources/0-679-72647-0"><bdi>0-679-72647-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Complete+Monty+Python%27s+Flying+Circus%3A+All+the+Words%2C+Volume+One&rft.place=New+York%2C+New+York&rft.pages=320+%28Appendix%29&rft.pub=Pantheon+Books&rft.date=1989&rft.isbn=0-679-72647-0&rft.aulast=Chapman&rft.aufirst=Graham&rft.au=Cleese%2C+John&rft.au=Gilliam%2C+Terry&rft.au=Idle%2C+Eric&rft.au=Jones%2C+Terry&rft.au=Palin%2C+Michael&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFSean_Adams2017" class="citation book cs1">Sean Adams (2017). <i>The Designer\'s Dictionary of Color</i>. Abrams. p. 104. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781683350026" title="Special:BookSources/9781683350026"><bdi>9781683350026</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Designer%27s+Dictionary+of+Color&rft.pages=104&rft.pub=Abrams&rft.date=2017&rft.isbn=9781683350026&rft.au=Sean+Adams&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">Terry Gilliam in an interview in <i><a href="/wiki/The_Comics_Journal" title="The Comics Journal">The Comics Journal</a></i> #182.</span>\n</li>\n<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFTerry_Gilliam2004" class="citation book cs1">Terry Gilliam (2004). David Sterritt, Lucille Rhodes (ed.). <i>Terry Gilliam: Interviews</i> (illustrated ed.). Univ. Press of Mississippi. p. 80. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781578066247" title="Special:BookSources/9781578066247"><bdi>9781578066247</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Terry+Gilliam%3A+Interviews&rft.pages=80&rft.edition=illustrated&rft.pub=Univ.+Press+of+Mississippi&rft.date=2004&rft.isbn=9781578066247&rft.au=Terry+Gilliam&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFBob_McCabe2005" class="citation book cs1">Graham Chapman, John Cleese, Terry Gilliam, Michael Palin, Eric Idle, Terry Jones (2005). Bob McCabe (ed.). <i>The Pythons: Autobiography</i> (illustrated ed.). Macmillan. p. 14. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9780312311452" title="Special:BookSources/9780312311452"><bdi>9780312311452</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Pythons%3A+Autobiography&rft.pages=14&rft.edition=illustrated&rft.pub=Macmillan&rft.date=2005&rft.isbn=9780312311452&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_book" title="Template:Cite book">cite book</a>}}</code>: CS1 maint: uses authors parameter (<a href="/wiki/Category:CS1_maint:_uses_authors_parameter" title="Category:CS1 maint: uses authors parameter">link</a>)</span></span>\n</li>\n<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFPalin2006" class="citation book cs1"><a href="/wiki/Michael_Palin" title="Michael Palin">Palin, Michael</a> (2006). <i>Diaries 1969–1979: The Python Years</i>. Weidenfeld & Nicolson. p. 473.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Diaries+1969%E2%80%931979%3A+The+Python+Years&rft.pages=473&rft.pub=Weidenfeld+%26+Nicolson&rft.date=2006&rft.aulast=Palin&rft.aufirst=Michael&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFBill_Cooke2006" class="citation book cs1">Bill Cooke (2006). <i>Dictionary of Atheism, Skepticism, and Humanism</i>. Prometheus Books. p. 349. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781615923656" title="Special:BookSources/9781615923656"><bdi>9781615923656</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Dictionary+of+Atheism%2C+Skepticism%2C+and+Humanism&rft.pages=349&rft.pub=Prometheus+Books&rft.date=2006&rft.isbn=9781615923656&rft.au=Bill+Cooke&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-irish_times_50th-21"><span class="mw-cite-backlink">^ <a href="#cite_ref-irish_times_50th_21-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-irish_times_50th_21-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-irish_times_50th_21-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-irish_times_50th_21-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLawson2019" class="citation web cs1">Lawson, Mark (7 October 2019). <a rel="nofollow" class="external text" href="https://www.irishtimes.com/culture/tv-radio-web/monty-python-bbc-archive-reveals-the-secrets-behind-the-sketches-1.4042455">"Monty Python: BBC archive reveals the secrets behind the sketches"</a>. <i><a href="/wiki/The_Irish_Times" title="The Irish Times">The Irish Times</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+Irish+Times&rft.atitle=Monty+Python%3A+BBC+archive+reveals+the+secrets+behind+the+sketches&rft.date=2019-10-07&rft.aulast=Lawson&rft.aufirst=Mark&rft_id=https%3A%2F%2Fwww.irishtimes.com%2Fculture%2Ftv-radio-web%2Fmonty-python-bbc-archive-reveals-the-secrets-behind-the-sketches-1.4042455&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-independent_BBC-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-independent_BBC_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-independent_BBC_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-independent_BBC_22-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-independent_BBC_22-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFVerkaik2009" class="citation web cs1">Verkaik, Robert (1 June 2009). <a rel="nofollow" class="external text" href="https://www.independent.co.uk/arts-entertainment/tv/news/bbc-bosses-almost-lost-faith-in-disgusting-monty-python-1693829.html">"BBC bosses almost lost faith in \'disgusting\' Monty Python"</a>. <i><a href="/wiki/The_Independent" title="The Independent">The Independent</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+Independent&rft.atitle=BBC+bosses+almost+lost+faith+in+%27disgusting%27+Monty+Python&rft.date=2009-06-01&rft.aulast=Verkaik&rft.aufirst=Robert&rft_id=https%3A%2F%2Fwww.independent.co.uk%2Farts-entertainment%2Ftv%2Fnews%2Fbbc-bosses-almost-lost-faith-in-disgusting-monty-python-1693829.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-telegraph_bbc-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-telegraph_bbc_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-telegraph_bbc_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-telegraph_bbc_23-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-telegraph_bbc_23-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFHastings2006" class="citation web cs1">Hastings, Chris (10 December 2006). <a rel="nofollow" class="external text" href="https://www.telegraph.co.uk/news/uknews/1536448/What-the-BBC-really-thought-of-Monty-Python.html">"What the BBC really thought of Monty Python"</a>. <i><a href="/wiki/The_Daily_Telegraph" title="The Daily Telegraph">The Telegraph</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+Telegraph&rft.atitle=What+the+BBC+really+thought+of+Monty+Python&rft.date=2006-12-10&rft.aulast=Hastings&rft.aufirst=Chris&rft_id=https%3A%2F%2Fwww.telegraph.co.uk%2Fnews%2Fuknews%2F1536448%2FWhat-the-BBC-really-thought-of-Monty-Python.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-auto-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-auto_24-0">^</a></b></span> <span class="reference-text"><i>The Pythons Autobiography by the Pythons</i>—Graham Chapman, John Cleese, Terry Gilliam, Eric Idle, Terry Jones, Michael Palin, John Chapman, David Sherlock, Bob McCabe—Thomas Dunne Books; Orion, 2003</span>\n</li>\n<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><a href="/wiki/Richard_Ouzounian" title="Richard Ouzounian">Richard Ouzounian</a>, "<a rel="nofollow" class="external text" href="https://web.archive.org/web/20070929171724/http://www.thestar.com/NASApp/cs/ContentServer?pagename=thestar%2FLayout%2FArticle_Type1&call_pageid=971358637177&c=Article&cid=1152963371205">Python still has legs</a>", <i>Toronto Star</i>, 16 July 2006</span>\n</li>\n<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text">\n<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090924083429/http://orangecow.org/pythonet/sketches/package.htm">"Travel Agent / Watney\'s Red Barrell"</a>. www.orangecow.org. Archived from <a rel="nofollow" class="external text" href="http://www.orangecow.org/pythonet/sketches/package.htm">the original</a> on 24 September 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">13 July</span> 2009</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Travel+Agent+%2F+Watney%27s+Red+Barrell&rft.pub=www.orangecow.org&rft_id=http%3A%2F%2Fwww.orangecow.org%2Fpythonet%2Fsketches%2Fpackage.htm&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.dr.dk/tv/se/monty-python-s-flying-circus-eps-1-45/monty-python-s-flying-circus-3/monty-python-s-flying-circus-27">"Monty Python\'s Flying Circus (27)"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Monty+Python%27s+Flying+Circus+%2827%29&rft_id=https%3A%2F%2Fwww.dr.dk%2Ftv%2Fse%2Fmonty-python-s-flying-circus-eps-1-45%2Fmonty-python-s-flying-circus-3%2Fmonty-python-s-flying-circus-27&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFMonty_Python1971" class="citation web cs1">Monty Python (18 December 1971). <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=_8Ija4Dec7o">"Monty Python – political choreographer"</a>. Spiny Norman<span class="reference-accessdate">. Retrieved <span class="nowrap">17 June</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Monty+Python+%E2%80%93+political+choreographer&rft.pub=Spiny+Norman&rft.date=1971-12-18&rft.au=Monty+Python&rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D_8Ija4Dec7o&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><sup class="noprint Inline-Template"><span style="white-space: nowrap;">[<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title=" Dead YouTube link tagged February 2022">dead YouTube link</span></a></i>]</span></sup></span>\n</li>\n<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFMonty_Python1971" class="citation web cs1">Monty Python (18 December 1971). <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=4KO4_feIKO0">"Lost Sketch- Choreographed Party Political Broadcast from WTTW-11"</a>. <i>Lost Sketch- Choreographed Party Political Broadcast – Monty Python\'s Flying Circus WTTW Channel</i>. MontyPythoNET<span class="reference-accessdate">. Retrieved <span class="nowrap">23 January</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Lost+Sketch-+Choreographed+Party+Political+Broadcast+%E2%80%93+Monty+Python%27s+Flying+Circus+WTTW+Channel&rft.atitle=Lost+Sketch-+Choreographed+Party+Political+Broadcast+from+WTTW-11&rft.date=1971-12-18&rft.au=Monty+Python&rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D4KO4_feIKO0&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span><sup class="noprint Inline-Template"><span style="white-space: nowrap;">[<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title=" Dead YouTube link tagged February 2022">dead YouTube link</span></a></i>]</span></sup></span>\n</li>\n<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.dvdtalk.com/reviews/35399/complete-monty-pythons-flying-circus-collectors-edition-megaset-the/">"DVD Talk Review: The Complete Monty Python\'s Flying Circus – Collectors Edition Megaset"</a>. 18 November 2008.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=DVD+Talk+Review%3A+The+Complete+Monty+Python%27s+Flying+Circus+%E2%80%93+Collectors+Edition+Megaset&rft.date=2008-11-18&rft_id=http%3A%2F%2Fwww.dvdtalk.com%2Freviews%2F35399%2Fcomplete-monty-pythons-flying-circus-collectors-edition-megaset-the%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://sotcaa.org/history/ukonline/python_frame.html?/history/ukonline/python/python_tv_03.html">"Edit News: Monty Python\'s Flying Circus"</a>. <i>Some Of The Corpses Are Amusing</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Some+Of+The+Corpses+Are+Amusing&rft.atitle=Edit+News%3A+Monty+Python%27s+Flying+Circus&rft_id=http%3A%2F%2Fsotcaa.org%2Fhistory%2Fukonline%2Fpython_frame.html%3F%2Fhistory%2Fukonline%2Fpython%2Fpython_tv_03.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://montypython.networkonair.com/flyingcircushd">"Monty Python\'s Flying Circus"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Monty+Python%27s+Flying+Circus&rft_id=https%3A%2F%2Fmontypython.networkonair.com%2Fflyingcircushd&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFCult2019" class="citation web cs1">Cult, We Are (21 October 2019). <a rel="nofollow" class="external text" href="https://wearecult.rocks/monty-pythons-flying-circus-special-features-revealed">"Monty Python\'s Flying Circus Special Features Revealed! » We Are Cult"</a>. <i>We Are Cult</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 May</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=We+Are+Cult&rft.atitle=Monty+Python%27s+Flying+Circus+Special+Features+Revealed%21+%C2%BB+We+Are+Cult&rft.date=2019-10-21&rft.aulast=Cult&rft.aufirst=We+Are&rft_id=https%3A%2F%2Fwearecult.rocks%2Fmonty-pythons-flying-circus-special-features-revealed&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-new_yorker_1976-34"><span class="mw-cite-backlink">^ <a href="#cite_ref-new_yorker_1976_34-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-new_yorker_1976_34-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-new_yorker_1976_34-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-new_yorker_1976_34-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFHertzberg1976" class="citation news cs1">Hertzberg, Hendrik (29 March 1976). <a rel="nofollow" class="external text" href="https://www.newyorker.com/magazine/1976/03/29/naughty-bits">"Naughty Bits"</a>. <i><a href="/wiki/The_New_Yorker" title="The New Yorker">The New Yorker</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 March</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=The+New+Yorker&rft.atitle=Naughty+Bits&rft.date=1976-03-29&rft.aulast=Hertzberg&rft.aufirst=Hendrik&rft_id=https%3A%2F%2Fwww.newyorker.com%2Fmagazine%2F1976%2F03%2F29%2Fnaughty-bits&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-FlyingCircusCanada-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-FlyingCircusCanada_35-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFJamie_Bradburn,_with_reference_to_Toronto_Star_article_of_2_February_19712011" class="citation web cs1">Jamie Bradburn, with reference to <a href="/wiki/Toronto_Star" title="Toronto Star">Toronto Star</a> article of 2 February 1971 (20 September 2011). <a rel="nofollow" class="external text" href="http://torontoist.com/2011/09/vintage-toronto-ads-jack-of-hearts-flying-circus/">"Vintage Toronto Ads: Jack of Hearts\' Flying Circus"</a>. St. Joseph Media.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Vintage+Toronto+Ads%3A+Jack+of+Hearts%27+Flying+Circus&rft.pub=St.+Joseph+Media&rft.date=2011-09-20&rft.au=Jamie+Bradburn%2C+with+reference+to+Toronto+Star+article+of+2+February+1971&rft_id=http%3A%2F%2Ftorontoist.com%2F2011%2F09%2Fvintage-toronto-ads-jack-of-hearts-flying-circus%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-Teod-36"><span class="mw-cite-backlink">^ <a href="#cite_ref-Teod_36-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Teod_36-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFTeodorczuk2015" class="citation news cs1">Teodorczuk, Tom (25 April 2015). <a rel="nofollow" class="external text" href="https://www.thedailybeast.com/john-oliver-hears-monty-pythons-many-secrets">"John Oliver Hears Monty Python\'s Many Secrets"</a>. <i>The Daily Beast</i>. The Daily Beast Company LLC<span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=The+Daily+Beast&rft.atitle=John+Oliver+Hears+Monty+Python%27s+Many+Secrets&rft.date=2015-04-25&rft.aulast=Teodorczuk&rft.aufirst=Tom&rft_id=https%3A%2F%2Fwww.thedailybeast.com%2Fjohn-oliver-hears-monty-pythons-many-secrets&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-dallas_news-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-dallas_news_37-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFPeppard,_Alan2011" class="citation news cs1">Peppard, Alan (25 August 2011). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140519004645/http://www.dallasnews.com/entertainment/columnists/alan-peppard/20110825-alan-peppard-bob-wilson-hailed-in-kera-documentary.ece">"Alan Peppard: Bob Wilson hailed in KERA documentary"</a>. <i>The Dallas Morning News</i>. Archived from <a rel="nofollow" class="external text" href="http://www.dallasnews.com/entertainment/columnists/alan-peppard/20110825-alan-peppard-bob-wilson-hailed-in-kera-documentary.ece">the original</a> on 19 May 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">25 January</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=The+Dallas+Morning+News&rft.atitle=Alan+Peppard%3A+Bob+Wilson+hailed+in+KERA+documentary&rft.date=2011-08-25&rft.au=Peppard%2C+Alan&rft_id=http%3A%2F%2Fwww.dallasnews.com%2Fentertainment%2Fcolumnists%2Falan-peppard%2F20110825-alan-peppard-bob-wilson-hailed-in-kera-documentary.ece&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.cnn.com/2015/04/09/entertainment/feat-monty-python-holy-grail-40-years/index.html">"40 years of \'Holy Grail\': The best of Monty Python"</a>. 9 April 2015.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=40+years+of+%27Holy+Grail%27%3A+The+best+of+Monty+Python&rft.date=2015-04-09&rft_id=https%3A%2F%2Fwww.cnn.com%2F2015%2F04%2F09%2Fentertainment%2Ffeat-monty-python-holy-grail-40-years%2Findex.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-StewartStewart1999-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-StewartStewart1999_39-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFDavid_StewartDavid_C._Stewart1999" class="citation book cs1">David Stewart; David C. Stewart (May 1999). <span class="cs1-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/pbscompanionhis00stew"><i>The PBS companion: a history of public television</i></a></span>. TV Books. p. <a rel="nofollow" class="external text" href="https://archive.org/details/pbscompanionhis00stew/page/n211">216</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-57500-050-3" title="Special:BookSources/978-1-57500-050-3"><bdi>978-1-57500-050-3</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">29 September</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+PBS+companion%3A+a+history+of+public+television&rft.pages=216&rft.pub=TV+Books&rft.date=1999-05&rft.isbn=978-1-57500-050-3&rft.au=David+Stewart&rft.au=David+C.+Stewart&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fpbscompanionhis00stew&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-FOOTNOTEGuralnick1999212,_642-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGuralnick1999212,_642_40-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGuralnick1999">Guralnick 1999</a>, pp. 212, 642.<span class="error harv-error" style="display: none; font-size:100%"> sfn error: no target: CITEREFGuralnick1999 (<a href="/wiki/Category:Harv_and_Sfn_template_errors" title="Category:Harv and Sfn template errors">help</a>)</span></span>\n</li>\n<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://openjurist.org/538/f2d/14">Gilliam v. American Broadcasting Companies, Inc., 538 F.2d 14 (2d Cir. 1976)</a></span>\n</li>\n<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation audio-visual cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=2cHoAoaVBz0"><i>MTV Monty Python Warning</i></a>. <i>YouTube</i>. 31 May 2007. <a rel="nofollow" class="external text" href="https://ghostarchive.org/varchive/youtube/20211220/2cHoAoaVBz0">Archived</a> from the original on 20 December 2021.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=MTV+Monty+Python+Warning&rft.date=2007-05-31&rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2cHoAoaVBz0&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://vintagerock.wordpress.com/category/monty-pythons-flying-circus">Monty Pythons Flying Circus.</a> | Vintagerock\'s Weblog.</span>\n</li>\n<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFThomas,_Rebecca2003" class="citation news cs1">Thomas, Rebecca (3 August 2003). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20030806004915/http://news.bbc.co.uk/2/hi/entertainment/3112625.stm">"Monty Python learns French"</a>. <i>BBC Online News</i>. BBC. Archived from <a rel="nofollow" class="external text" href="http://news.bbc.co.uk/1/hi/entertainment/arts/3112625.stm">the original</a> on 6 August 2003<span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=BBC+Online+News&rft.atitle=Monty+Python+learns+French&rft.date=2003-08-03&rft.au=Thomas%2C+Rebecca&rft_id=http%3A%2F%2Fnews.bbc.co.uk%2F1%2Fhi%2Fentertainment%2Farts%2F3112625.stm&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFDavis,_Clive2005" class="citation news cs1">Davis, Clive (31 January 2005). <a rel="nofollow" class="external text" href="http://entertainment.timesonline.co.uk/article/0,,14936-1464143,00.html">"Monty Python\'s Flying Circus – At Last, in French"</a>. <i>The Times Online</i><span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=The+Times+Online&rft.atitle=Monty+Python%27s+Flying+Circus+%E2%80%93+At+Last%2C+in+French&rft.date=2005-01-31&rft.au=Davis%2C+Clive&rft_id=http%3A%2F%2Fentertainment.timesonline.co.uk%2Farticle%2F0%2C%2C14936-1464143%2C00.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLogan2003" class="citation news cs1">Logan, Brian (4 August 2003). <a rel="nofollow" class="external text" href="http://timesonline.co.uk">"Ce perroquet est mort: Monty Python in French? Brian Logan meets the team behind a world first"</a>. <i>The Times</i>. London. p. 18.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=The+Times&rft.atitle=Ce+perroquet+est+mort%3A+Monty+Python+in+French%3F+Brian+Logan+meets+the+team+behind+a+world+first&rft.pages=18&rft.date=2003-08-04&rft.aulast=Logan&rft.aufirst=Brian&rft_id=http%3A%2F%2Ftimesonline.co.uk&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span> <a rel="nofollow" class="external text" href="https://search.proquest.com/docview/246028389">Accessed through ProQuest</a>, 1 March 2012.</span>\n</li>\n<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070911082724/http://www.time.com/time/specials/2007/completelist/0,,1651341,00.html">"The 100 Best TV Shows of All-TIME"</a>. <i>TIME</i>. 6 September 2007. Archived from <a rel="nofollow" class="external text" href="http://www.time.com/time/specials/2007/completelist/0,,1651341,00.html">the original</a> on 11 September 2007<span class="reference-accessdate">. Retrieved <span class="nowrap">14 July</span> 2009</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=TIME&rft.atitle=The+100+Best+TV+Shows+of+All-TIME&rft.date=2007-09-06&rft_id=http%3A%2F%2Fwww.time.com%2Ftime%2Fspecials%2F2007%2Fcompletelist%2F0%2C%2C1651341%2C00.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090627084038/http://www.channel4.com/entertainment/tv/microsites/G/greatest/comedy_sketches/results.html">"Channel 4\'s 50 Greatest Comedy Sketches"</a>. Channel4.com. Archived from <a rel="nofollow" class="external text" href="http://www.channel4.com/entertainment/tv/microsites/G/greatest/comedy_sketches/results.html">the original</a> on 27 June 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">14 July</span> 2009</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Channel+4%27s+50+Greatest+Comedy+Sketches&rft.pub=Channel4.com&rft_id=http%3A%2F%2Fwww.channel4.com%2Fentertainment%2Ftv%2Fmicrosites%2FG%2Fgreatest%2Fcomedy_sketches%2Fresults.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1">"25 Top Cult Shows Ever!". TV Guide Magazine Group. 30 May 2004.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=25+Top+Cult+Shows+Ever%21&rft.date=2004-05-30&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.tvguide.com/news/top-cult-shows-40239.aspx">TV Guide Names the Top Cult Shows Ever – Today\'s News: Our Take</a> <a href="/wiki/TV_Guide" title="TV Guide">TV Guide</a>: 29 June 2007</span>\n</li>\n<li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.tvguide.com/news/tv-guide-magazine-60-best-series-1074962/">"TV Guide Magazine\'s 60 Best Series of All Time"</a>. <i>TV Guide</i>. 23 December 2013.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=TV+Guide&rft.atitle=TV+Guide+Magazine%27s+60+Best+Series+of+All+Time&rft.date=2013-12-23&rft_id=http%3A%2F%2Fwww.tvguide.com%2Fnews%2Ftv-guide-magazine-60-best-series-1074962%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.imdb.com/name/nm0010930/bio?ref_=nm_dyk_qt_sm#quotes">"Douglas Adams – Biography – IMdb"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Douglas+Adams+%E2%80%93+Biography+%E2%80%93+IMdb&rft_id=https%3A%2F%2Fwww.imdb.com%2Fname%2Fnm0010930%2Fbio%3Fref_%3Dnm_dyk_qt_sm%23quotes&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.imdb.com/name/nm0584427/bio?ref_=nm_ql_1">"Lorne Michaels – Biography – IMDb"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Lorne+Michaels+%E2%80%93+Biography+%E2%80%93+IMDb&rft_id=https%3A%2F%2Fwww.imdb.com%2Fname%2Fnm0584427%2Fbio%3Fref_%3Dnm_ql_1&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFHansen2017" class="citation news cs1 cs1-prop-foreign-lang-source">Hansen, Helle Kastholm (2 April 2017). <a rel="nofollow" class="external text" href="http://ekstrabladet.dk/ekstra/ekstra-kendte/lars-hjortshoej-mine-boern-saetter-mig-paa-plads/6593764">"LARS HJORTSHØJ: Mine børn sætter mig på plads"</a>. <i><a href="/wiki/Ekstra_Bladet" title="Ekstra Bladet">Ekstra Bladet</a></i> (in Danish). <a href="/wiki/JP/Politikens_Hus" title="JP/Politikens Hus">JP/Politikens Hus</a>. p. 16 (4th section). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170501050649/http://ekstrabladet.dk/ekstra/ekstra-kendte/lars-hjortshoej-mine-boern-saetter-mig-paa-plads/6593764">Archived</a> from the original on 1 May 2017.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Ekstra+Bladet&rft.atitle=LARS+HJORTSH%C3%98J%3A+Mine+b%C3%B8rn+s%C3%A6tter+mig+p%C3%A5+plads&rft.pages=16+%284th+section%29&rft.date=2017-04-02&rft.aulast=Hansen&rft.aufirst=Helle+Kastholm&rft_id=http%3A%2F%2Fekstrabladet.dk%2Fekstra%2Fekstra-kendte%2Flars-hjortshoej-mine-boern-saetter-mig-paa-plads%2F6593764&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-dfi-mandrillen-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-dfi-mandrillen_55-0">^</a></b></span> <span class="reference-text">"<a rel="nofollow" class="external text" href="http://www.dfi.dk/faktaomfilm/film/da/77461.aspx?id=77461">Casper & mandrilaftalen</a>". <i>Casper & Mandrilaftalen (DK, 1999)</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171007011850/http://www.dfi.dk/faktaomfilm/film/da/77461.aspx?id=77461">Archived</a> from the original on October 7, 2017.</span>\n</li>\n<li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation news cs1 cs1-prop-foreign-lang-source">"K\'nyt: Cleese i Mandrillen". <i><a href="/wiki/Dagbladet_Information" title="Dagbladet Information">Dagbladet Information</a></i> (in Danish). 4 September 1999. p. 9 (1st section). <q>I aftes, fredag, optrådte den store engelske komiker John Cleese som gæst i \'Casper og Mandrilaftalen\'.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Dagbladet+Information&rft.atitle=K%27nyt%3A+Cleese+i+Mandrillen&rft.pages=9+%281st+section%29&rft.date=1999-09-04&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n<li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/doc/faq/general/">"General Python FAQ — Python 2.7.10 documentation"</a>. <i>python.org</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=python.org&rft.atitle=General+Python+FAQ+%E2%80%94+Python+2.7.10+documentation&rft_id=https%3A%2F%2Fwww.python.org%2Fdoc%2Ffaq%2Fgeneral%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></span>\n</li>\n</ol></div>\n<style data-mw-deduplicate="TemplateStyles:r1054258005">.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}</style><div class="refbegin" style="">\n<p><b>Bibliography</b> \n</p>\n<ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLandy2005" class="citation book cs1">Landy, Marcia (2005). <i>Monty Python\'s Flying Circus</i>. Wayne State University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-8143-3103-3" title="Special:BookSources/0-8143-3103-3"><bdi>0-8143-3103-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Monty+Python%27s+Flying+Circus&rft.pub=Wayne+State+University+Press&rft.date=2005&rft.isbn=0-8143-3103-3&rft.aulast=Landy&rft.aufirst=Marcia&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></li>\n<li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><cite id="CITEREFLarsen2008" class="citation book cs1">Larsen, Darl (2008). <i>Monty Python\'s Flying Circus: An Utterly Complete, Thoroughly Unillustrated, Absolutely Unauthorized Guide to Possibly All the References From Arthur "Two Sheds" Jackson to Zambesi</i>. Scarecrow Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9780810861312" title="Special:BookSources/9780810861312"><bdi>9780810861312</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Monty+Python%27s+Flying+Circus%3A+An+Utterly+Complete%2C+Thoroughly+Unillustrated%2C+Absolutely+Unauthorized+Guide+to+Possibly+All+the+References+From+Arthur+%22Two+Sheds%22+Jackson+to+Zambesi&rft.pub=Scarecrow+Press&rft.date=2008&rft.isbn=9780810861312&rft.aulast=Larsen&rft.aufirst=Darl&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMonty+Python%27s+Flying+Circus" class="Z3988"></span></li>\n<li>Larsen, Darl. <i>Monty Python\'s Flying Circus: An Utterly Complete, Thoroughly Unillustrated, Absolutely Unauthorized Guide to Possibly All the References From Arthur "Two Sheds" Jackson to Zambesi</i>, Volumes 1 and 2. Scarecrow Press, 2013. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781589797123" title="Special:BookSources/9781589797123">9781589797123</a> (vol. 1) and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1067248974"/><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781589798076" title="Special:BookSources/9781589798076">9781589798076</a> (vol. 2)</li></ul>\n</div>\n<h2><span class="mw-headline" id="External_links">External links</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit&section=27" title="Edit section: External links">edit</a><span class="mw-editsection-bracket">]</span></span></h2>\n<style data-mw-deduplicate="TemplateStyles:r1097025294">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><div class="side-box side-box-right plainlinks sistersitebox">\n<div class="side-box-flex">\n<div class="side-box-image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/34px-Wikiquote-logo.svg.png" decoding="async" width="34" height="40" class="noviewer" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/51px-Wikiquote-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/68px-Wikiquote-logo.svg.png 2x" data-file-width="300" data-file-height="355" /></div>\n<div class="side-box-text plainlist">Wikiquote has quotations related to <i><b><a href="https://en.wikiquote.org/wiki/Special:Search/Monty_Python%27s_Flying_Circus" class="extiw" title="q:Special:Search/Monty Python's Flying Circus">Monty Python's Flying Circus</a></b></i>.</div></div>\n</div>\n<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="http://www.montypython.com">Official website</a></span></span></li>\n<li><a rel="nofollow" class="external text" href="https://www.imdb.com/title/tt0063929/"><i>Monty Python’s Flying Circus</i></a> at <a href="/wiki/IMDb" title="IMDb">IMDb</a></li>\n<li><a rel="nofollow" class="external text" href="http://www.museum.tv/archives/etv/M/htmlM/montypython/montypython.htm">Museum of Broadcast Television</a></li>\n<li><a rel="nofollow" class="external text" href="http://www.screenonline.org.uk/tv/id/469243/index.html">British Film Institute Screen Online</a></li>\n<li><a rel="nofollow" class="external text" href="https://nostalgiacentral.com/television/tv-by-decade/tv-shows-1960s/monty-pythons-flying-circus/"><i>Monty Python’s Flying Circus</i></a> – Nostalgia Central</li></ul>\n<div class="navbox-styles nomobile"><style data-mw-deduplicate="TemplateStyles:r1061467846">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}</style></div><div role="navigation" class="navbox" aria-labelledby="Monty_Python" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1063604349">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Monty_Python" title="Template:Monty Python"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Monty_Python" title="Template talk:Monty Python"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template:Monty_Python&action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">e</abbr></a></li></ul></div><div id="Monty_Python" style="font-size:114%;margin:0 4em"><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div id="*_Graham_Chapman_*_John_Cleese_*_Terry_Gilliam_*_Eric_Idle_*_Terry_Jones_*_Michael_Palin&#95;_*_Carol_Cleveland_*_Neil_Innes">\n<ul><li><b><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a></b></li>\n<li><b><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a></b></li>\n<li><b><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a></b></li>\n<li><b><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a></b></li>\n<li><b><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a></b></li>\n<li><b><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a></b></li></ul>\n<ul><li><a href="/wiki/Carol_Cleveland" title="Carol Cleveland">Carol Cleveland</a></li>\n<li><a href="/wiki/Neil_Innes" title="Neil Innes">Neil Innes</a></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Television series</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a class="mw-selflink selflink">Flying Circus</a></i>\n<ul><li><a href="/wiki/List_of_Monty_Python%27s_Flying_Circus_episodes" title="List of Monty Python's Flying Circus episodes">episodes</a></li></ul></li>\n<li><i><a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python's Fliegender Zirkus">Fliegender Zirkus</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Personal_Best" title="Monty Python's Personal Best">Personal Best</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i></li>\n<li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Holy Grail</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian" title="Monty Python's Life of Brian">Life of Brian</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Live at the Hollywood Bowl</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python's The Meaning of Life">The Meaning of Life</a></i>\n<ul><li><i><a href="/wiki/The_Crimson_Permanent_Assurance" title="The Crimson Permanent Assurance">The Crimson Permanent Assurance</a></i></li></ul></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Studio albums</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Another_Monty_Python_Record" title="Another Monty Python Record">Another Record</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Previous_Record" title="Monty Python's Previous Record">Previous Record</a></i></li>\n<li><i><a href="/wiki/The_Monty_Python_Matching_Tie_and_Handkerchief" title="The Monty Python Matching Tie and Handkerchief">Matching Tie and Handkerchief</a></i></li>\n<li><i><a href="/wiki/The_Album_of_the_Soundtrack_of_the_Trailer_of_the_Film_of_Monty_Python_and_the_Holy_Grail" title="The Album of the Soundtrack of the Trailer of the Film of Monty Python and the Holy Grail">Holy Grail</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian_(album)" title="Monty Python's Life of Brian (album)">Life of Brian</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Contractual_Obligation_Album" title="Monty Python's Contractual Obligation Album">Contractual Obligation</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life_(album)" title="Monty Python's The Meaning of Life (album)">The Meaning of Life</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Compilation albums</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Monty_Python_Instant_Record_Collection" title="The Monty Python Instant Record Collection">Instant Record Collection</a></i></li>\n<li><i><a href="/wiki/The_Final_Rip_Off" title="The Final Rip Off">Final Rip Off</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Sings" title="Monty Python Sings">Sings</a></i></li>\n<li><i><a href="/wiki/The_Ultimate_Monty_Python_Rip_Off" title="The Ultimate Monty Python Rip Off">Ultimate Rip Off</a></i></li>\n<li><i><a href="/wiki/The_Instant_Monty_Python_CD_Collection" title="The Instant Monty Python CD Collection">Instant CD Collection</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Total_Rubbish" title="Monty Python's Total Rubbish">Total Rubbish</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Live albums</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python%27s_Flying_Circus_(album)" title="Monty Python's Flying Circus (album)">Flying Circus</a></i></li>\n<li><i><a href="/wiki/Live_at_Drury_Lane" title="Live at Drury Lane">Live at Drury Lane</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_at_City_Center" title="Monty Python Live at City Center">Live at City Center</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Specials</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Parrot_Sketch_Not_Included_%E2%80%93_20_Years_of_Monty_Python" title="Parrot Sketch Not Included – 20 Years of Monty Python">Parrot Sketch Not Included</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_at_Aspen" title="Monty Python Live at Aspen">Live at Aspen</a></i></li>\n<li><i><a href="/wiki/Python_Night_%E2%80%93_30_Years_of_Monty_Python" title="Python Night – 30 Years of Monty Python">Python Night</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Documentaries</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Pythons_(film)" title="The Pythons (film)">The Pythons</a></i></li>\n<li><i><a href="/wiki/Life_of_Python" title="Life of Python">Life of Python</a></i></li>\n<li><i><a href="/wiki/Monty_Python:_Almost_the_Truth_(Lawyers_Cut)" title="Monty Python: Almost the Truth (Lawyers Cut)">Almost the Truth (Lawyers Cut)</a></i></li>\n<li><i><a href="/wiki/Monty_Python:_And_Now_for_Something_Rather_Similar" title="Monty Python: And Now for Something Rather Similar">And Now for Something Rather Similar</a></i></li>\n<li><i><a href="/wiki/Monty_Python:_The_Meaning_of_Live" title="Monty Python: The Meaning of Live">The Meaning of Live</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Stage productions</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Spamalot" title="Spamalot">Spamalot</a></i></li>\n<li><i><a href="/wiki/Not_the_Messiah_(He%27s_a_Very_Naughty_Boy)" title="Not the Messiah (He's a Very Naughty Boy)">Not the Messiah (He\'s a Very Naughty Boy)</a></i></li>\n<li><i><a href="/wiki/An_Evening_Without_Monty_Python" title="An Evening Without Monty Python">An Evening Without Monty Python</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Live (Mostly)</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Literature</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python%27s_Big_Red_Book" title="Monty Python's Big Red Book">Big Red Book</a></i></li>\n<li><i><a href="/wiki/The_Brand_New_Monty_Python_Bok" title="The Brand New Monty Python Bok">Brand New Bok</a></i></li>\n<li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail_(Book)" title="Monty Python and the Holy Grail (Book)">Holy Grail (Book)</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Life_of_Brian_/_Monty_Python_Scrapbook" title="Monty Python's The Life of Brian / Monty Python Scrapbook">Life of Brian/SCRAPBOOK</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life_(book)" title="Monty Python's The Meaning of Life (book)">The Meaning of Life</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Flying_Circus:_Just_the_Words" title="Monty Python's Flying Circus: Just the Words">Just the Words</a></i></li>\n<li><i><a href="/wiki/The_Fairly_Incomplete_%26_Rather_Badly_Illustrated_Monty_Python_Song_Book" title="The Fairly Incomplete & Rather Badly Illustrated Monty Python Song Book">Song Book</a></i></li>\n<li><i><a href="/wiki/A_Pocketful_of_Python" title="A Pocketful of Python">A Pocketful of Python</a></i></li>\n<li><i><a href="/wiki/The_Pythons_Autobiography_by_The_Pythons" title="The Pythons Autobiography by The Pythons">The Pythons Autobiography by The Pythons</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live!" title="Monty Python Live!">Live!</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Video games</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python%27s_Flying_Circus:_The_Computer_Game" title="Monty Python's Flying Circus: The Computer Game">Flying Circus</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Complete_Waste_of_Time" title="Monty Python's Complete Waste of Time">Complete Waste of Time</a></i></li>\n<li><i><a href="/wiki/Monty_Python_%26_the_Quest_for_the_Holy_Grail" title="Monty Python & the Quest for the Holy Grail">Quest for the Holy Grail</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life_(video_game)" title="Monty Python's The Meaning of Life (video game)">The Meaning of Life</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Cow_Tossing" title="Monty Python's Cow Tossing">Cow Tossing</a></i></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Characters</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/Mr_Praline" title="Mr Praline">Mr Praline</a></li>\n<li><a href="/wiki/The_Colonel_(Monty_Python)" title="The Colonel (Monty Python)">The Colonel</a></li>\n<li><a href="/wiki/Mr_Creosote" title="Mr Creosote">Mr Creosote</a></li>\n<li><a href="/wiki/Rabbit_of_Caerbannog" title="Rabbit of Caerbannog">Rabbit of Caerbannog</a></li>\n<li><a href="/wiki/List_of_recurring_Monty_Python%27s_Flying_Circus_characters" title="List of recurring Monty Python's Flying Circus characters">Other characters</a></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Sketches</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/Albatross_(Monty_Python_sketch)" title="Albatross (Monty Python sketch)">Albatross!</a></li>\n<li><a href="/wiki/Anne_Elk%27s_Theory_on_Brontosauruses" title="Anne Elk's Theory on Brontosauruses">Anne Elk\'s Theory on Brontosauruses</a></li>\n<li><a href="/wiki/Architects_Sketch" title="Architects Sketch">Architects</a></li>\n<li><a href="/wiki/Argument_Clinic" title="Argument Clinic">Argument Clinic</a></li>\n<li><a href="/wiki/Bruces_sketch" title="Bruces sketch">Bruces</a></li>\n<li><a href="/wiki/Cheese_Shop_sketch" title="Cheese Shop sketch">Cheese Shop</a></li>\n<li><a href="/wiki/Colin_%22Bomber%22_Harris_vs_Colin_%22Bomber%22_Harris" title="Colin "Bomber" Harris vs Colin "Bomber" Harris">Colin "Bomber" Harris vs Colin "Bomber" Harris</a></li>\n<li><a href="/wiki/Crunchy_Frog" title="Crunchy Frog">Crunchy Frog</a></li>\n<li><a href="/wiki/Dead_Parrot_sketch" title="Dead Parrot sketch">Dead Parrot</a></li>\n<li><a href="/wiki/The_Dirty_Fork" title="The Dirty Fork">Dirty Fork</a></li>\n<li><a href="/wiki/Dirty_Hungarian_Phrasebook" title="Dirty Hungarian Phrasebook">Dirty Hungarian Phrasebook</a></li>\n<li><a href="/wiki/Election_Night_Special" title="Election Night Special">Election Night Special</a></li>\n<li><a href="/wiki/Fish_Licence" title="Fish Licence">Fish Licence</a></li>\n<li><a href="/wiki/The_Fish-Slapping_Dance" title="The Fish-Slapping Dance">Fish-Slapping Dance</a></li>\n<li><a href="/wiki/Four_Yorkshiremen_sketch" title="Four Yorkshiremen sketch">Four Yorkshiremen</a></li>\n<li><a href="/wiki/The_Funniest_Joke_in_the_World" title="The Funniest Joke in the World">The Funniest Joke in the World</a></li>\n<li><a href="/wiki/How_Not_to_Be_Seen" title="How Not to Be Seen">How Not to Be Seen</a></li>\n<li><a href="/wiki/Kilimanjaro_Expedition" title="Kilimanjaro Expedition">Kilimanjaro Expedition</a></li>\n<li><a href="/wiki/Lifeboat_sketch" title="Lifeboat sketch">Lifeboat</a></li>\n<li><a href="/wiki/Marriage_Guidance_Counsellor" title="Marriage Guidance Counsellor">Marriage Guidance Counsellor</a></li>\n<li><a href="/wiki/The_Ministry_of_Silly_Walks" title="The Ministry of Silly Walks">Ministry of Silly Walks</a></li>\n<li><a href="/wiki/The_Mouse_Problem" title="The Mouse Problem">Mouse Problem</a></li>\n<li><a href="/wiki/Nudge_Nudge" title="Nudge Nudge">Nudge Nudge</a></li>\n<li><a href="/wiki/Patient_Abuse" title="Patient Abuse">Patient Abuse</a></li>\n<li><a href="/wiki/The_Philosophers%27_Football_Match" title="The Philosophers' Football Match">Philosophers\' Football Match</a></li>\n<li><a href="/wiki/Piranha_Brothers" title="Piranha Brothers">Piranha Brothers</a></li>\n<li><a href="/wiki/Sam_Peckinpah%27s_%22Salad_Days%22" title="Sam Peckinpah's "Salad Days"">Sam Peckinpah\'s "Salad Days"</a></li>\n<li><a href="/wiki/Seduced_Milkmen" title="Seduced Milkmen">Seduced Milkmen</a></li>\n<li><a href="/wiki/Self-Defence_Against_Fresh_Fruit" title="Self-Defence Against Fresh Fruit">Self-Defence Against Fresh Fruit</a></li>\n<li><a href="/wiki/Spam_(Monty_Python)" title="Spam (Monty Python)">Spam</a></li>\n<li><a href="/wiki/The_Spanish_Inquisition_(Monty_Python)" title="The Spanish Inquisition (Monty Python)">Spanish Inquisition</a></li>\n<li><a href="/wiki/Undertakers_sketch" title="Undertakers sketch">Undertakers</a></li>\n<li><a href="/wiki/Upper_Class_Twit_of_the_Year" title="Upper Class Twit of the Year">Upper Class Twit of the Year</a></li>\n<li><a href="/wiki/Vocational_Guidance_Counsellor" title="Vocational Guidance Counsellor">Vocational Guidance Counsellor</a></li>\n<li><a href="/wiki/World_Forum/Communist_Quiz" title="World Forum/Communist Quiz">World Forum/Communist Quiz</a></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Songs</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li>"<a href="/wiki/Always_Look_on_the_Bright_Side_of_Life" title="Always Look on the Bright Side of Life">Always Look on the Bright Side of Life</a>"</li>\n<li>"<a href="/wiki/Brian_Song" title="Brian Song">Brian Song</a>"</li>\n<li>"<a href="/wiki/Bruces%27_Philosophers_Song" title="Bruces' Philosophers Song">Bruces\' Philosophers Song</a>"</li>\n<li>"<a href="/wiki/Decomposing_Composers" title="Decomposing Composers">Decomposing Composers</a>"</li>\n<li>"<a href="/wiki/Eric_the_Half-a-Bee" title="Eric the Half-a-Bee">Eric the Half-a-Bee</a>"</li>\n<li>"<a href="/wiki/Every_Sperm_Is_Sacred" title="Every Sperm Is Sacred">Every Sperm Is Sacred</a>"</li>\n<li>"<a href="/wiki/Finland_(song)" title="Finland (song)">Finland</a>"</li>\n<li>"<a href="/wiki/Galaxy_Song" title="Galaxy Song">Galaxy Song</a>"</li>\n<li>"<a href="/wiki/I_Bet_You_They_Won%27t_Play_This_Song_on_the_Radio" title="I Bet You They Won't Play This Song on the Radio">I Bet You They Won\'t Play This Song on the Radio</a>"</li>\n<li>"<a href="/wiki/I_Like_Chinese" title="I Like Chinese">I Like Chinese</a>"</li>\n<li>"<a href="/wiki/I%27ve_Got_Two_Legs" title="I've Got Two Legs">I\'ve Got Two Legs</a>"</li>\n<li>"<a href="/wiki/The_Lumberjack_Song" title="The Lumberjack Song">The Lumberjack Song</a>"</li>\n<li>"<a href="/wiki/Medical_Love_Song" title="Medical Love Song">Medical Love Song</a>"</li>\n<li>"<a href="/wiki/Oliver_Cromwell_(song)" title="Oliver Cromwell (song)">Oliver Cromwell</a>"</li>\n<li>"<a href="/wiki/Sit_on_My_Face" title="Sit on My Face">Sit on My Face</a>"</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/List_of_Monty_Python_projects" title="List of Monty Python projects">List of Monty Python projects</a></li>\n<li><a href="/wiki/The_Foot_of_Cupid" class="mw-redirect" title="The Foot of Cupid">The Foot of Cupid</a></li>\n<li><i><a href="/wiki/Cambridge_Footlights_Revue" title="Cambridge Footlights Revue">Cambridge Circus</a></i></li>\n<li><i><a href="/wiki/I%27m_Sorry,_I%27ll_Read_That_Again" title="I'm Sorry, I'll Read That Again">I\'m Sorry, I\'ll Read That Again</a></i></li>\n<li><i><a href="/wiki/The_Frost_Report" title="The Frost Report">The Frost Report</a></i></li>\n<li><i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i></li>\n<li><i><a href="/wiki/Twice_a_Fortnight" title="Twice a Fortnight">Twice a Fortnight</a></i></li>\n<li><i><a href="/wiki/Do_Not_Adjust_Your_Set" title="Do Not Adjust Your Set">Do Not Adjust Your Set</a></i></li>\n<li><i><a href="/wiki/We_Have_Ways_of_Making_You_Laugh" title="We Have Ways of Making You Laugh">We Have Ways of Making You Laugh</a></i></li>\n<li><i><a href="/wiki/Broaden_Your_Mind" title="Broaden Your Mind">Broaden Your Mind</a></i></li>\n<li><i><a href="/wiki/How_to_Irritate_People" title="How to Irritate People">How to Irritate People</a></i></li>\n<li><i><a href="/wiki/The_Complete_and_Utter_History_of_Britain" title="The Complete and Utter History of Britain">The Complete and Utter History of Britain</a></i></li>\n<li><i><a href="/wiki/Teach_Yourself_Heath" title="Teach Yourself Heath">Teach Yourself Heath</a></i></li>\n<li><i><a href="/wiki/Monty_Python%27s_Tiny_Black_Round_Thing" title="Monty Python's Tiny Black Round Thing">Tiny Black Round Thing</a></i></li>\n<li><i><a href="/wiki/Bert_Fegg%27s_Nasty_Book_for_Boys_and_Girls" title="Bert Fegg's Nasty Book for Boys and Girls">Bert Fegg\'s Nasty Book for Boys and Girls</a></i></li>\n<li><i><a href="/wiki/Rutland_Weekend_Television" title="Rutland Weekend Television">Rutland Weekend Television</a></i></li>\n<li><i><a href="/wiki/Fawlty_Towers" title="Fawlty Towers">Fawlty Towers</a></i></li>\n<li><i><a href="/wiki/Ripping_Yarns" title="Ripping Yarns">Ripping Yarns</a></i></li>\n<li><i><a href="/wiki/Out_of_the_Trees" title="Out of the Trees">Out of the Trees</a></i></li>\n<li><i><a href="/wiki/A_Poke_in_the_Eye_(With_a_Sharp_Stick)" title="A Poke in the Eye (With a Sharp Stick)">A Poke in the Eye (With a Sharp Stick)</a></i></li>\n<li><i><a href="/wiki/Monty_Python_v._American_Broadcasting_Companies,_Inc." title="Monty Python v. American Broadcasting Companies, Inc.">Monty Python v. ABC</a></i></li>\n<li><i><a href="/wiki/Python_On_Song" title="Python On Song">Python On Song</a></i></li>\n<li><i><a href="/wiki/All_You_Need_Is_Cash" title="All You Need Is Cash">All You Need Is Cash</a></i></li>\n<li><i><a href="/wiki/The_Secret_Policeman%27s_Ball" title="The Secret Policeman's Ball">The Secret Policeman\'s Ball</a></i></li>\n<li><i><a href="/wiki/A_Liar%27s_Autobiography:_Volume_VI" title="A Liar's Autobiography: Volume VI">A Liar\'s Autobiography: Volume VI</a></i></li>\n<li><i><a href="/wiki/The_Hastily_Cobbled_Together_for_a_Fast_Buck_Album" title="The Hastily Cobbled Together for a Fast Buck Album">The Hastily Cobbled Together for a Fast Buck Album</a></i></li>\n<li><i><a href="/wiki/The_Wind_in_the_Willows_(1996_film)" title="The Wind in the Willows (1996 film)">The Wind in the Willows</a></i></li>\n<li><i><a href="/wiki/Monty_Python_Live" title="Monty Python Live">Monty Python Live</a></i></li>\n<li><i><a href="/wiki/Concert_for_George" title="Concert for George">Concert for George</a></i></li>\n<li><i><a href="/wiki/Diaries_1969%E2%80%931979:_The_Python_Years" title="Diaries 1969–1979: The Python Years">Diaries 1969–1979: The Python Years</a></i></li>\n<li><i><a href="/wiki/The_Seventh_Python" title="The Seventh Python">The Seventh Python</a></i></li>\n<li><i><a href="/wiki/Holy_Flying_Circus" title="Holy Flying Circus">Holy Flying Circus</a></i></li>\n<li><i><a href="/wiki/A_Liar%27s_Autobiography:_The_Untrue_Story_of_Monty_Python%27s_Graham_Chapman" title="A Liar's Autobiography: The Untrue Story of Monty Python's Graham Chapman">A Liar\'s Autobiography: The Untrue Story of Monty Python\'s Graham Chapman</a></i></li>\n<li><i><a href="/wiki/Absolutely_Anything" title="Absolutely Anything">Absolutely Anything</a></i></li></ul>\n</div></td></tr></tbody></table></div>\n<div class="navbox-styles nomobile"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1061467846"/></div><div role="navigation" class="navbox" aria-labelledby="Graham_Chapman" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1063604349"/><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Graham_Chapman" title="Template:Graham Chapman"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Graham_Chapman" title="Template talk:Graham Chapman"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template:Graham_Chapman&action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">e</abbr></a></li></ul></div><div id="Graham_Chapman" style="font-size:114%;margin:0 4em"><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films written</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Magic_Christian_(film)" title="The Magic Christian (film)">The Magic Christian</a></i> (1969)</li>\n<li><i><a href="/wiki/The_Rise_and_Rise_of_Michael_Rimmer" title="The Rise and Rise of Michael Rimmer">The Rise and Rise of Michael Rimmer</a></i> (1970)</li>\n<li><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i> (1971)</li>\n<li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i> (1975)</li>\n<li><i><a href="/wiki/The_Odd_Job" title="The Odd Job">The Odd Job</a></i> (1978)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian" title="Monty Python's Life of Brian">Monty Python\'s Life of Brian</a></i> (1979)</li>\n<li><i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Monty Python Live at the Hollywood Bowl</a></i> (1982)</li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python's The Meaning of Life">Monty Python\'s The Meaning of Life</a></i> (1983)</li>\n<li><i><a href="/wiki/Yellowbeard" title="Yellowbeard">Yellowbeard</a></i> (1983)</li>\n<li><i><a href="/wiki/Jake%27s_Journey" title="Jake's Journey">Jake\'s Journey</a></i> (1988)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">TV series created</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Frost_Report" title="The Frost Report">The Frost Report</a></i> (1966–1967)</li>\n<li><i><a href="/wiki/At_Last_the_1948_Show" title="At Last the 1948 Show">At Last the 1948 Show</a></i> (1967)</li>\n<li><i><a class="mw-selflink selflink">Monty Python\'s Flying Circus</a></i> (1969–1974)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python's Fliegender Zirkus">Monty Python\'s Fliegender Zirkus</a></i> (1972)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Books written</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/A_Liar%27s_Autobiography" class="mw-redirect" title="A Liar's Autobiography">A Liar\'s Autobiography</a></i> (1980)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/Monty_Python" title="Monty Python">Monty Python</a></li>\n<li><i><a href="/wiki/A_Liar%27s_Autobiography:_The_Untrue_Story_of_Monty_Python%27s_Graham_Chapman" title="A Liar's Autobiography: The Untrue Story of Monty Python's Graham Chapman">A Liar\'s Autobiography: The Untrue Story of Monty Python\'s Graham Chapman</a></i> (2012)</li>\n<li><i><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Monty Python Live (Mostly)</a></i> (2014)</li></ul>\n</div></td></tr></tbody></table></div>\n<div class="navbox-styles nomobile"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1061467846"/></div><div role="navigation" class="navbox" aria-labelledby="Terry_Jones" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1063604349"/><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Terry_Jones" title="Template:Terry Jones"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Terry_Jones" title="Template talk:Terry Jones"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template:Terry_Jones&action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;">e</abbr></a></li></ul></div><div id="Terry_Jones" style="font-size:114%;margin:0 4em"><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films directed</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python_and_the_Holy_Grail" title="Monty Python and the Holy Grail">Monty Python and the Holy Grail</a></i> (1975)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Life_of_Brian" title="Monty Python's Life of Brian">Monty Python\'s Life of Brian</a></i> (1979)</li>\n<li><i><a href="/wiki/Monty_Python%27s_The_Meaning_of_Life" title="Monty Python's The Meaning of Life">Monty Python\'s The Meaning of Life</a></i> (1983)</li>\n<li><i><a href="/wiki/Personal_Services" title="Personal Services">Personal Services</a></i> (1987)</li>\n<li><i><a href="/wiki/Erik_the_Viking" title="Erik the Viking">Erik the Viking</a></i> (1989)</li>\n<li><i><a href="/wiki/The_Wind_in_the_Willows_(1996_film)" title="The Wind in the Willows (1996 film)">The Wind in the Willows</a></i> (1996)</li>\n<li><i><a href="/wiki/Absolutely_Anything" title="Absolutely Anything">Absolutely Anything</a></i> (2015)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Films written only</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/And_Now_for_Something_Completely_Different" title="And Now for Something Completely Different">And Now for Something Completely Different</a></i> (1971)</li>\n<li><i><a href="/wiki/Monty_Python_Live_at_the_Hollywood_Bowl" title="Monty Python Live at the Hollywood Bowl">Monty Python Live at the Hollywood Bowl</a></i> (1982)</li>\n<li><i><a href="/wiki/Labyrinth_(1986_film)" title="Labyrinth (1986 film)">Labyrinth</a></i> (1986)</li>\n<li><i><a href="/wiki/Monty_Python_Live_(Mostly)" title="Monty Python Live (Mostly)">Monty Python Live (Mostly)</a></i> (2014)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">TV series created</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/The_Complete_and_Utter_History_of_Britain" title="The Complete and Utter History of Britain">The Complete and Utter History of Britain</a></i> (1969)</li>\n<li><i><a class="mw-selflink selflink">Monty Python\'s Flying Circus</a></i> (1969–1974)</li>\n<li><i><a href="/wiki/Monty_Python%27s_Fliegender_Zirkus" title="Monty Python's Fliegender Zirkus">Monty Python\'s Fliegender Zirkus</a></i> (1972)</li>\n<li><i><a href="/wiki/Ripping_Yarns" title="Ripping Yarns">Ripping Yarns</a></i> (1976–1979)</li>\n<li><i><a href="/wiki/Crusades_(TV_series)" title="Crusades (TV series)">Crusades</a></i> (1995)</li>\n<li><i><a href="/wiki/Blazing_Dragons" title="Blazing Dragons">Blazing Dragons</a></i> (1996–1998)</li>\n<li><i><a href="/wiki/Ancient_Inventions" title="Ancient Inventions">Ancient Inventions</a></i> (1998)</li>\n<li><i><a href="/wiki/Terry_Jones%27_Medieval_Lives" title="Terry Jones' Medieval Lives">Terry Jones\' Medieval Lives</a></i> (2004)</li>\n<li><i><a href="/wiki/The_Story_of_1" title="The Story of 1">The Story of 1</a></i> (2005)</li>\n<li><i><a href="/wiki/Terry_Jones%27_Barbarians" title="Terry Jones' Barbarians">Terry Jones\' Barbarians</a></i> (2006)</li>\n<li><i><a href="/wiki/Boom_Bust_Boom" title="Boom Bust Boom">Boom Bust Boom</a></i> (2016)</li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Video games</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><i><a href="/wiki/Monty_Python_%26_the_Quest_for_the_Holy_Grail" title="Monty Python & the Quest for the Holy Grail">Monty Python & the Quest for the Holy Grail</a></i> (1996)</li>\n<li><i><a href="/wiki/Blazing_Dragons_(video_game)" title="Blazing Dragons (video game)">Blazing Dragons</a></i> (1996)</li></ul>\n</div></td></tr></tbody></table></div>\n<style data-mw-deduplicate="TemplateStyles:r1093522707">.mw-parser-output .portal-bar{font-size:88%;font-weight:bold;display:flex;justify-content:center;align-items:baseline}.mw-parser-output .portal-bar-bordered{padding:0 2em;background-color:#fdfdfd;border:1px solid #a2a9b1;clear:both;margin:1em auto 0}.mw-parser-output .portal-bar-related{font-size:100%;justify-content:flex-start}.mw-parser-output .portal-bar-unbordered{padding:0 1.7em;margin-left:0}.mw-parser-output .portal-bar-header{margin:0 1em 0 0.5em;flex:0 0 auto;min-height:24px}.mw-parser-output .portal-bar-content{display:flex;flex-flow:row wrap;flex:0 1 auto;padding:0.15em 0;column-gap:1em;align-items:baseline}.mw-parser-output .portal-bar-content-related{}.mw-parser-output .portal-bar-item{display:inline-block;margin:0.15em 0.2em;min-height:24px;line-height:24px}@media screen and (max-width:768px){.mw-parser-output .portal-bar{font-size:88%;font-weight:bold;display:flex;flex-flow:column wrap;align-items:baseline}.mw-parser-output .portal-bar-header{text-align:center;flex:0;padding-left:0.5em;margin:0 auto}.mw-parser-output .portal-bar-related{font-size:100%;align-items:flex-start}.mw-parser-output .portal-bar-content{display:flex;flex-flow:row wrap;align-items:center;flex:0;column-gap:1em;border-top:1px solid #a2a9b1;margin:0 auto}.mw-parser-output .portal-bar-content-related{border-top:none;margin:0}}.mw-parser-output .navbox+link+.portal-bar-bordered{margin-top:-1px}.mw-parser-output .navbox+style+.portal-bar-bordered{margin-top:-1px}.mw-parser-output .portal-bar+.navbox-styles+.navbox{margin-top:-1px}</style><div class="portal-bar noprint metadata noviewer portal-bar-bordered" role="navigation" aria-label="Portals"><span class="portal-bar-header"><a href="/wiki/Wikipedia:Contents/Portals" title="Wikipedia:Contents/Portals">Portal</a>:</span><div class="portal-bar-content"><span class="portal-bar-item"><a href="/wiki/File:Blank_television_set.svg" class="image"><img alt="icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Blank_television_set.svg/21px-Blank_television_set.svg.png" decoding="async" width="21" height="14" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Blank_television_set.svg/32px-Blank_television_set.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Blank_television_set.svg/42px-Blank_television_set.svg.png 2x" data-file-width="138" data-file-height="92" /></a> <a href="/wiki/Portal:Television" title="Portal:Television">Television</a></span></div></div>\n<div class="navbox-styles nomobile"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1061467846"/></div><div role="navigation" class="navbox authority-control" aria-labelledby="Authority_control_frameless&#124;text-top&#124;10px&#124;alt=Edit_this_at_Wikidata&#124;link=https&#58;//www.wikidata.org/wiki/Q16401#identifiers&#124;class=noprint&#124;Edit_this_at_Wikidata" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Authority_control_frameless&#124;text-top&#124;10px&#124;alt=Edit_this_at_Wikidata&#124;link=https&#58;//www.wikidata.org/wiki/Q16401#identifiers&#124;class=noprint&#124;Edit_this_at_Wikidata" style="font-size:114%;margin:0 4em"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control</a> <a href="https://www.wikidata.org/wiki/Q16401#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" style="vertical-align: text-top" class="noprint" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/VIAF_(identifier)" class="mw-redirect" title="VIAF (identifier)">VIAF</a>\n<ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://viaf.org/viaf/305699369">1</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://viaf.org/viaf/190889527">2</a></span></li></ul></li>\n<li><span class="nowrap"><a rel="nofollow" class="external text" href="https://www.worldcat.org/identities/containsVIAFID/305699369">WorldCat (via VIAF)</a></span></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">National libraries</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://authority.bibsys.no/authority/rest/authorities/html/90612382">Norway</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&authority_id=XX4653918">Spain</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb15030527w">France</a> <a rel="nofollow" class="external text" href="https://data.bnf.fr/ark:/12148/cb15030527w">(data)</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4375260-3">Germany</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="http://uli.nli.org.il/F/?func=find-b&local_base=NLX10&find_code=UID&request=987007381598405171">Israel</a></span></li>\n<li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/names/n88253100">United States</a></span></li></ul>\n</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">\n<ul><li><a href="/wiki/SUDOC_(identifier)" class="mw-redirect" title="SUDOC (identifier)">SUDOC (France)</a>\n<ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.idref.fr/148509371">1</a></span></li></ul></li></ul>\n</div></td></tr></tbody></table></div>\n<!-- \nNewPP limit report\nParsed by mw1332\nCached time: 20220721165317\nCache expiry: 1814400\nReduced expiry: false\nComplications: [vary‐revision‐sha1]\nCPU time usage: 1.795 seconds\nReal time usage: 2.092 seconds\nPreprocessor visited node count: 7131/1000000\nPost‐expand include size: 190714/2097152 bytes\nTemplate argument size: 12743/2097152 bytes\nHighest expansion depth: 22/100\nExpensive parser function count: 21/500\nUnstrip recursion depth: 1/20\nUnstrip post‐expand size: 156754/5000000 bytes\nLua time usage: 1.020/10.000 seconds\nLua memory usage: 10836229/52428800 bytes\nLua Profile:\n ? 320 ms 27.6%\n Scribunto_LuaSandboxCallback::getExpandedArgument 160 ms 13.8%\n Scribunto_LuaSandboxCallback::callParserFunction 140 ms 12.1%\n Scribunto_LuaSandboxCallback::match 80 ms 6.9%\n Scribunto_LuaSandboxCallback::getExpensiveData 60 ms 5.2%\n (for generator) <mw.lua:673> 40 ms 3.4%\n gsub 40 ms 3.4%\n dataWrapper <mw.lua:669> 40 ms 3.4%\n Scribunto_LuaSandboxCallback::sub 40 ms 3.4%\n Scribunto_LuaSandboxCallback::interwikiMap 20 ms 1.7%\n [others] 220 ms 19.0%\nNumber of Wikibase entities loaded: 1/400\n-->\n<!--\nTransclusion expansion time report (%,ms,calls,template)\n100.00% 1809.431 1 -total\n 31.85% 576.349 1 Template:Reflist\n 12.36% 223.717 13 Template:Cite_news\n 10.78% 195.027 1 Template:Infobox_television\n 10.17% 183.953 10 Template:Citation_needed\n 9.46% 171.234 1 Template:Infobox\n 9.36% 169.353 13 Template:Fix\n 7.95% 143.898 19 Template:Cite_web\n 6.06% 109.620 3 Template:Navbox\n 5.90% 106.732 4 Template:Sfn\n-->\n\n<!-- Saved in parser cache with key enwiki:pcache:idhash:23372115-0!canonical and timestamp 20220721165315 and revision id 1099482818.\n -->\n</div><noscript><img src="//en.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;" /></noscript>\n<div class="printfooter">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Monty_Python%27s_Flying_Circus&oldid=1099482818">https://en.wikipedia.org/w/index.php?title=Monty_Python%27s_Flying_Circus&oldid=1099482818</a>"</div></div>\n\t\t<div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:1969_British_television_series_debuts" title="Category:1969 British television series debuts">1969 British television series debuts</a></li><li><a href="/wiki/Category:1974_British_television_series_endings" title="Category:1974 British television series endings">1974 British television series endings</a></li><li><a href="/wiki/Category:1960s_British_television_sketch_shows" title="Category:1960s British television sketch shows">1960s British television sketch shows</a></li><li><a href="/wiki/Category:1970s_British_television_sketch_shows" title="Category:1970s British television sketch shows">1970s British television sketch shows</a></li><li><a href="/wiki/Category:BBC_television_sketch_shows" title="Category:BBC television sketch shows">BBC television sketch shows</a></li><li><a href="/wiki/Category:BBC_black_comedy_television_shows" title="Category:BBC black comedy television shows">BBC black comedy television shows</a></li><li><a href="/wiki/Category:British_satirical_television_series" title="Category:British satirical television series">British satirical television series</a></li><li><a href="/wiki/Category:English-language_television_shows" title="Category:English-language television shows">English-language television shows</a></li><li><a href="/wiki/Category:Metafictional_television_series" title="Category:Metafictional television series">Metafictional television series</a></li><li><a href="/wiki/Category:Television_series_about_television" title="Category:Television series about television">Television series about television</a></li><li><a href="/wiki/Category:Monty_Python" title="Category:Monty Python">Monty Python</a></li><li><a href="/wiki/Category:Postmodern_works" title="Category:Postmodern works">Postmodern works</a></li><li><a href="/wiki/Category:Surreal_comedy_television_series" title="Category:Surreal comedy television series">Surreal comedy television series</a></li><li><a href="/wiki/Category:Self-reflexive_television" title="Category:Self-reflexive television">Self-reflexive television</a></li><li><a href="/wiki/Category:Television_shows_adapted_into_films" title="Category:Television shows adapted into films">Television shows adapted into films</a></li><li><a href="/wiki/Category:Television_shows_adapted_into_video_games" title="Category:Television shows adapted into video games">Television shows adapted into video games</a></li><li><a href="/wiki/Category:British_television_series_with_live_action_and_animation" title="Category:British television series with live action and animation">British television series with live action and animation</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:All_articles_with_dead_YouTube_links" title="Category:All articles with dead YouTube links">All articles with dead YouTube links</a></li><li><a href="/wiki/Category:Articles_with_dead_YouTube_links_from_February_2022" title="Category:Articles with dead YouTube links from February 2022">Articles with dead YouTube links from February 2022</a></li><li><a href="/wiki/Category:CS1_maint:_uses_authors_parameter" title="Category:CS1 maint: uses authors parameter">CS1 maint: uses authors parameter</a></li><li><a href="/wiki/Category:Harv_and_Sfn_no-target_errors" title="Category:Harv and Sfn no-target errors">Harv and Sfn no-target errors</a></li><li><a href="/wiki/Category:CS1_Danish-language_sources_(da)" title="Category:CS1 Danish-language sources (da)">CS1 Danish-language sources (da)</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Use_British_English_from_June_2016" title="Category:Use British English from June 2016">Use British English from June 2016</a></li><li><a href="/wiki/Category:Use_dmy_dates_from_June_2016" title="Category:Use dmy dates from June 2016">Use dmy dates from June 2016</a></li><li><a href="/wiki/Category:Pages_using_infobox_television_with_unnecessary_name_parameter" title="Category:Pages using infobox television with unnecessary name parameter">Pages using infobox television with unnecessary name parameter</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_January_2019" title="Category:Articles with unsourced statements from January 2019">Articles with unsourced statements from January 2019</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_March_2012" title="Category:Articles with unsourced statements from March 2012">Articles with unsourced statements from March 2012</a></li><li><a href="/wiki/Category:Official_website_different_in_Wikidata_and_Wikipedia" title="Category:Official website different in Wikidata and Wikipedia">Official website different in Wikidata and Wikipedia</a></li><li><a href="/wiki/Category:IMDb_ID_same_as_Wikidata" title="Category:IMDb ID same as Wikidata">IMDb ID same as Wikidata</a></li><li><a href="/wiki/Category:Articles_with_VIAF_identifiers" title="Category:Articles with VIAF identifiers">Articles with VIAF identifiers</a></li><li><a href="/wiki/Category:Articles_with_BIBSYS_identifiers" title="Category:Articles with BIBSYS identifiers">Articles with BIBSYS identifiers</a></li><li><a href="/wiki/Category:Articles_with_BNE_identifiers" title="Category:Articles with BNE identifiers">Articles with BNE identifiers</a></li><li><a href="/wiki/Category:Articles_with_BNF_identifiers" title="Category:Articles with BNF identifiers">Articles with BNF identifiers</a></li><li><a href="/wiki/Category:Articles_with_GND_identifiers" title="Category:Articles with GND identifiers">Articles with GND identifiers</a></li><li><a href="/wiki/Category:Articles_with_J9U_identifiers" title="Category:Articles with J9U identifiers">Articles with J9U identifiers</a></li><li><a href="/wiki/Category:Articles_with_LCCN_identifiers" title="Category:Articles with LCCN identifiers">Articles with LCCN identifiers</a></li><li><a href="/wiki/Category:Articles_with_SUDOC_identifiers" title="Category:Articles with SUDOC identifiers">Articles with SUDOC identifiers</a></li><li><a href="/wiki/Category:Articles_with_WorldCat-VIAF_identifiers" title="Category:Articles with WorldCat-VIAF identifiers">Articles with WorldCat-VIAF identifiers</a></li><li><a href="/wiki/Category:Articles_with_multiple_identifiers" title="Category:Articles with multiple identifiers">Articles with multiple identifiers</a></li></ul></div></div>\n\t</div>\n</div>\n\n<div id="mw-navigation">\n\t<h2>Navigation menu</h2>\n\t<div id="mw-head">\n\t\t\n\n<nav id="p-personal" class="vector-menu mw-portlet mw-portlet-personal vector-user-menu-legacy" aria-labelledby="p-personal-label" role="navigation" >\n\t<h3\n\t\tid="p-personal-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Personal tools</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="pt-anonuserpage" class="mw-list-item"><span title="The user page for the IP address you are editing as">Not logged in</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Monty+Python%27s+Flying+Circus" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Create account</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Monty+Python%27s+Flying+Circus" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span>Log in</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t<div id="left-navigation">\n\t\t\t\n\n<nav id="p-namespaces" class="vector-menu mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy" aria-labelledby="p-namespaces-label" role="navigation" >\n\t<h3\n\t\tid="p-namespaces-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Namespaces</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/Monty_Python%27s_Flying_Circus" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Talk:Monty_Python%27s_Flying_Circus" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t\t\n\n<nav id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown-noicon vector-menu-dropdown" aria-labelledby="p-variants-label" role="navigation" >\n\t<input type="checkbox"\n\t\tid="p-variants-checkbox"\n\t\trole="button"\n\t\taria-haspopup="true"\n\t\tdata-event-name="ui.dropdown-p-variants"\n\t\tclass="vector-menu-checkbox"\n\t\taria-labelledby="p-variants-label"\n\t/>\n\t<label\n\t\tid="p-variants-label"\n\t\t aria-label="Change language variant"\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">English</span>\n\t</label>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t</div>\n\t\t<div id="right-navigation">\n\t\t\t\n\n<nav id="p-views" class="vector-menu mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy" aria-labelledby="p-views-label" role="navigation" >\n\t<h3\n\t\tid="p-views-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Views</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="ca-view" class="selected mw-list-item"><a href="/wiki/Monty_Python%27s_Flying_Circus"><span>Read</span></a></li><li id="ca-edit" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t\t\n\n<nav id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown-noicon vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation" title="More options" >\n\t<input type="checkbox"\n\t\tid="p-cactions-checkbox"\n\t\trole="button"\n\t\taria-haspopup="true"\n\t\tdata-event-name="ui.dropdown-p-cactions"\n\t\tclass="vector-menu-checkbox"\n\t\taria-labelledby="p-cactions-label"\n\t/>\n\t<label\n\t\tid="p-cactions-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">More</span>\n\t</label>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\t\t\n<div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box">\n\t<div>\n\t\t\t<h3 >\n\t\t\t\t<label for="searchInput">Search</label>\n\t\t\t</h3>\n\t\t<form action="/w/index.php" id="searchform"\n\t\t\tclass="vector-search-box-form">\n\t\t\t<div id="simpleSearch"\n\t\t\t\tclass="vector-search-box-inner"\n\t\t\t\t data-search-loc="header-navigation">\n\t\t\t\t<input class="vector-search-box-input"\n\t\t\t\t\t type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput"\n\t\t\t\t>\n\t\t\t\t<input type="hidden" name="title" value="Special:Search">\n\t\t\t\t<input id="mw-searchButton"\n\t\t\t\t\t class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Search Wikipedia for this text" value="Search">\n\t\t\t\t<input id="searchButton"\n\t\t\t\t\t class="searchButton" type="submit" name="go" title="Go to a page with this exact name if it exists" value="Go">\n\t\t\t</div>\n\t\t</form>\n\t</div>\n</div>\n\n\t\t</div>\n\t</div>\n\t\n\n<div id="mw-panel">\n\t<div id="p-logo" role="banner">\n\t\t<a class="mw-wiki-logo" href="/wiki/Main_Page"\n\t\t\ttitle="Visit the main page"></a>\n\t</div>\n\t\n\n<nav id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation vector-menu-portal portal" aria-labelledby="p-navigation-label" role="navigation" >\n\t<h3\n\t\tid="p-navigation-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Navigation</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" title="Support us by donating to the Wikimedia Foundation"><span>Donate</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\n\n<nav id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction vector-menu-portal portal" aria-labelledby="p-interaction-label" role="navigation" >\n\t<h3\n\t\tid="p-interaction-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Contribute</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\n<nav id="p-tb" class="vector-menu mw-portlet mw-portlet-tb vector-menu-portal portal" aria-labelledby="p-tb-label" role="navigation" >\n\t<h3\n\t\tid="p-tb-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Tools</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Monty_Python%27s_Flying_Circus" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Monty_Python%27s_Flying_Circus" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&oldid=1099482818" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Monty_Python%27s_Flying_Circus&id=1099482818&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-wikibase" class="mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q16401" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\n<nav id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export vector-menu-portal portal" aria-labelledby="p-coll-print_export-label" role="navigation" >\n\t<h3\n\t\tid="p-coll-print_export-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Print/export</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Monty_Python%27s_Flying_Circus&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Monty_Python%27s_Flying_Circus&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\n<nav id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal" aria-labelledby="p-wikibase-otherprojects-label" role="navigation" >\n\t<h3\n\t\tid="p-wikibase-otherprojects-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">In other projects</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Monty_Python%27s_Flying_Circus" hreflang="en"><span>Wikiquote</span></a></li></ul>\n\t\t\n\t</div>\n</nav>\n\n\t\n\n<nav id="p-lang" class="vector-menu mw-portlet mw-portlet-lang vector-menu-portal portal" aria-labelledby="p-lang-label" role="navigation" >\n\t<h3\n\t\tid="p-lang-label"\n\t\t\n\t\tclass="vector-menu-heading "\n\t>\n\t\t<span class="vector-menu-heading-label">Languages</span>\n\t</h3>\n\t<div class="vector-menu-content">\n\t\t\n\t\t<ul class="vector-menu-content-list"><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%B3%D9%8A%D8%B1%D9%83_%D9%85%D9%88%D9%86%D8%AA%D9%8A_%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86_%D8%A7%D9%84%D8%B7%D8%A7%D8%A6%D8%B1" title="سيرك مونتي بايثون الطائر – Arabic" lang="ar" hreflang="ar" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D1%8F%D1%89%D0%B8%D1%8F%D1%82_%D1%86%D0%B8%D1%80%D0%BA_%D0%BD%D0%B0_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D0%B9%D1%82%D1%8A%D0%BD" title="Летящият цирк на Монти Пайтън – Bulgarian" lang="bg" hreflang="bg" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Catalan" lang="ca" hreflang="ca" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Monty_Python%C5%AFv_l%C3%A9taj%C3%ADc%C3%AD_cirkus" title="Monty Pythonův létající cirkus – Czech" lang="cs" hreflang="cs" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Welsh" lang="cy" hreflang="cy" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Monty_Pythons_Flyvende_Cirkus" title="Monty Pythons Flyvende Cirkus – Danish" lang="da" hreflang="da" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Monty_Python%E2%80%99s_Flying_Circus" title="Monty Python’s Flying Circus – German" lang="de" hreflang="de" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Spanish" lang="es" hreflang="es" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Basque" lang="eu" hreflang="eu" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B3%DB%8C%D8%B1%DA%A9_%D9%BE%D8%B1%D9%86%D8%AF%D9%87_%D9%85%D8%A7%D9%86%D8%AA%DB%8C_%D9%BE%D8%A7%DB%8C%D8%AA%D8%A7%D9%86" title="سیرک پرنده مانتی پایتان – Persian" lang="fa" hreflang="fa" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – French" lang="fr" hreflang="fr" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Galician" lang="gl" hreflang="gl" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%AA%AC%ED%8B%B0_%ED%8C%8C%EC%9D%B4%ED%8A%BC%EC%9D%98_%EB%B9%84%ED%96%89_%EC%84%9C%EC%BB%A4%EC%8A%A4" title="몬티 파이튼의 비행 서커스 – Korean" lang="ko" hreflang="ko" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Lete%C4%87i_cirkus_Montyja_Pythona" title="Leteći cirkus Montyja Pythona – Croatian" lang="hr" hreflang="hr" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Indonesian" lang="id" hreflang="id" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Italian" lang="it" hreflang="it" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%94%D7%A7%D7%A8%D7%A7%D7%A1_%D7%94%D7%9E%D7%A2%D7%95%D7%A4%D7%A3_%D7%A9%D7%9C_%D7%9E%D7%95%D7%A0%D7%98%D7%99_%D7%A4%D7%99%D7%99%D7%AA%D7%95%D7%9F" title="הקרקס המעופף של מונטי פייתון – Hebrew" lang="he" hreflang="he" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Monty_Python_Rep%C3%BCl%C5%91_Cirkusza" title="Monty Python Repülő Cirkusza – Hungarian" lang="hu" hreflang="hu" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D0%B5%D1%87%D0%BA%D0%B8%D0%BE%D1%82_%D1%86%D0%B8%D1%80%D0%BA%D1%83%D1%81_%D0%BD%D0%B0_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D1%98%D1%82%D0%BE%D0%BD" title="Летечкиот циркус на Монти Пајтон – Macedonian" lang="mk" hreflang="mk" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Dutch" lang="nl" hreflang="nl" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E7%A9%BA%E9%A3%9B%E3%81%B6%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB%E3%83%91%E3%82%A4%E3%82%BD%E3%83%B3" title="空飛ぶモンティ・パイソン – Japanese" lang="ja" hreflang="ja" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Monty_Python%E2%80%99s_Flying_Circus" title="Monty Python’s Flying Circus – Norwegian Bokmål" lang="nb" hreflang="nb" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Lataj%C4%85cy_cyrk_Monty_Pythona" title="Latający cyrk Monty Pythona – Polish" lang="pl" hreflang="pl" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Portuguese" lang="pt" hreflang="pt" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D0%B0%D1%8E%D1%89%D0%B8%D0%B9_%D1%86%D0%B8%D1%80%D0%BA_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0" title="Летающий цирк Монти Пайтона – Russian" lang="ru" hreflang="ru" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Lietaj%C3%BAci_cirkus_Montyho_Pythona" title="Lietajúci cirkus Montyho Pythona – Slovak" lang="sk" hreflang="sk" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Lete%C4%8Di_cirkus_Montyja_Pythona" title="Leteči cirkus Montyja Pythona – Slovenian" lang="sl" hreflang="sl" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D0%B5%D1%9B%D0%B8_%D1%86%D0%B8%D1%80%D0%BA%D1%83%D1%81_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8%D1%98%D0%B0_%D0%9F%D0%B0%D1%98%D1%82%D0%BE%D0%BD%D0%B0" title="Летећи циркус Монтија Пајтона – Serbian" lang="sr" hreflang="sr" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus" title="Monty Python's Flying Circus – Serbo-Croatian" lang="sh" hreflang="sh" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Monty_Pythonin_lent%C3%A4v%C3%A4_sirkus" title="Monty Pythonin lentävä sirkus – Finnish" lang="fi" hreflang="fi" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Monty_Pythons_flygande_cirkus" title="Monty Pythons flygande cirkus – Swedish" lang="sv" hreflang="sv" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D1%8E%D1%87%D0%B8%D0%B9_%D1%86%D0%B8%D1%80%D0%BA_%D0%9C%D0%BE%D0%BD%D1%82%D1%96_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0" title="Летючий цирк Монті Пайтона – Ukrainian" lang="uk" hreflang="uk" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E8%92%99%E6%8F%90%C2%B7%E6%B4%BE%E6%A3%AE%E7%9A%84%E9%A3%9B%E8%A1%8C%E9%A6%AC%E6%88%B2%E5%9C%98" title="蒙提·派森的飛行馬戲團 – Chinese" lang="zh" hreflang="zh" class="interlanguage-link-target"><span>中文</span></a></li></ul>\n\t\t<div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q16401#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div>\n\t</div>\n</nav>\n\n</div>\n\n</div>\n\n<footer id="footer" class="mw-footer" role="contentinfo" >\n\t<ul id="footer-info">\n\t<li id="footer-info-lastmod"> This page was last edited on 21 July 2022, at 01:08<span class="anonymous-show"> (UTC)</span>.</li>\n\t<li id="footer-info-copyright">Text is available under the <a rel="license" href="//en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License">Creative Commons Attribution-ShareAlike License 3.0</a><a rel="license" href="//creativecommons.org/licenses/by-sa/3.0/" style="display:none;"></a>;\nadditional terms may apply. By using this site, you agree to the <a href="//foundation.wikimedia.org/wiki/Terms_of_Use">Terms of Use</a> and <a href="//foundation.wikimedia.org/wiki/Privacy_policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a href="//www.wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li>\n</ul>\n\n\t<ul id="footer-places">\n\t<li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Privacy_policy" class="extiw" title="wmf:Privacy policy">Privacy policy</a></li>\n\t<li id="footer-places-about"><a href="/wiki/Wikipedia:About" title="Wikipedia:About">About Wikipedia</a></li>\n\t<li id="footer-places-disclaimer"><a href="/wiki/Wikipedia:General_disclaimer" title="Wikipedia:General disclaimer">Disclaimers</a></li>\n\t<li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li>\n\t<li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Monty_Python%27s_Flying_Circus&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li>\n\t<li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li>\n\t<li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li>\n\t<li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Cookie_statement">Cookie statement</a></li>\n</ul>\n\n\t<ul id="footer-icons" class="noprint">\n\t<li id="footer-copyrightico"><a href="https://wikimediafoundation.org/"><img src="/static/images/footer/wikimedia-button.png" srcset="/static/images/footer/wikimedia-button-1.5x.png 1.5x, /static/images/footer/wikimedia-button-2x.png 2x" width="88" height="31" alt="Wikimedia Foundation" loading="lazy" /></a></li>\n\t<li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="/static/images/footer/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/static/images/footer/poweredby_mediawiki_132x47.png 1.5x, /static/images/footer/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"/></a></li>\n</ul>\n\n</footer>\n\n<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"1.795","walltime":"2.092","ppvisitednodes":{"value":7131,"limit":1000000},"postexpandincludesize":{"value":190714,"limit":2097152},"templateargumentsize":{"value":12743,"limit":2097152},"expansiondepth":{"value":22,"limit":100},"expensivefunctioncount":{"value":21,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":156754,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 1809.431 1 -total"," 31.85% 576.349 1 Template:Reflist"," 12.36% 223.717 13 Template:Cite_news"," 10.78% 195.027 1 Template:Infobox_television"," 10.17% 183.953 10 Template:Citation_needed"," 9.46% 171.234 1 Template:Infobox"," 9.36% 169.353 13 Template:Fix"," 7.95% 143.898 19 Template:Cite_web"," 6.06% 109.620 3 Template:Navbox"," 5.90% 106.732 4 Template:Sfn"]},"scribunto":{"limitreport-timeusage":{"value":"1.020","limit":"10.000"},"limitreport-memusage":{"value":10836229,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\\n [\\"CITEREFBill_Cooke2006\\"] = 1,\\n [\\"CITEREFBob_McCabe2005\\"] = 1,\\n [\\"CITEREFChapmanCleeseGilliamIdle1989\\"] = 1,\\n [\\"CITEREFCult2019\\"] = 1,\\n [\\"CITEREFDavid_StewartDavid_C._Stewart1999\\"] = 1,\\n [\\"CITEREFDavis,_Clive2005\\"] = 1,\\n [\\"CITEREFHansen2017\\"] = 1,\\n [\\"CITEREFHastings2006\\"] = 1,\\n [\\"CITEREFHertzberg1976\\"] = 1,\\n [\\"CITEREFJamie_Bradburn,_with_reference_to_Toronto_Star_article_of_2_February_19712011\\"] = 1,\\n [\\"CITEREFLandy2005\\"] = 1,\\n [\\"CITEREFLarsen2008\\"] = 1,\\n [\\"CITEREFLawson2019\\"] = 1,\\n [\\"CITEREFLogan2003\\"] = 1,\\n [\\"CITEREFMonty_Python1971\\"] = 2,\\n [\\"CITEREFPalin2006\\"] = 1,\\n [\\"CITEREFPalin2008\\"] = 1,\\n [\\"CITEREFPeppard,_Alan2011\\"] = 1,\\n [\\"CITEREFSean_Adams2017\\"] = 1,\\n [\\"CITEREFSlotnik2016\\"] = 1,\\n [\\"CITEREFTeodorczuk2015\\"] = 1,\\n [\\"CITEREFTerry_Gilliam2004\\"] = 1,\\n [\\"CITEREFThomas,_Rebecca2003\\"] = 1,\\n [\\"CITEREFVerkaik2009\\"] = 1,\\n [\\"CITEREFZack_Handlen2011\\"] = 1,\\n}\\ntemplate_list = table#1 {\\n [\\":List of Monty Python\'s Flying Circus episodes\\"] = 1,\\n [\\"Authority control\\"] = 1,\\n [\\"Cbignore\\"] = 5,\\n [\\"Citation needed\\"] = 10,\\n [\\"Cite AV media\\"] = 1,\\n [\\"Cite book\\"] = 11,\\n [\\"Cite news\\"] = 13,\\n [\\"Cite web\\"] = 19,\\n [\\"Dead Youtube links\\"] = 3,\\n [\\"End date\\"] = 1,\\n [\\"Graham Chapman\\"] = 1,\\n [\\"IMDb title\\"] = 1,\\n [\\"ISBN\\"] = 2,\\n [\\"Infobox television\\"] = 1,\\n [\\"Main\\"] = 3,\\n [\\"Main article\\"] = 1,\\n [\\"Monty Python\\"] = 1,\\n [\\"Nom\\"] = 7,\\n [\\"Official website\\"] = 1,\\n [\\"Other uses\\"] = 1,\\n [\\"Plainlist\\"] = 2,\\n [\\"Portal bar\\"] = 1,\\n [\\"Refbegin\\"] = 1,\\n [\\"Refend\\"] = 1,\\n [\\"Reflist\\"] = 1,\\n [\\"See also\\"] = 2,\\n [\\"Sfn\\"] = 4,\\n [\\"Short description\\"] = 1,\\n [\\"Small\\"] = 2,\\n [\\"Start date\\"] = 1,\\n [\\"Terry Jones\\"] = 1,\\n [\\"Use British English\\"] = 1,\\n [\\"Use dmy dates\\"] = 1,\\n [\\"Wikiquote\\"] = 1,\\n [\\"Won\\"] = 4,\\n}\\narticle_whitelist = table#1 {\\n}\\n","limitreport-profile":[["?","320","27.6"],["Scribunto_LuaSandboxCallback::getExpandedArgument","160","13.8"],["Scribunto_LuaSandboxCallback::callParserFunction","140","12.1"],["Scribunto_LuaSandboxCallback::match","80","6.9"],["Scribunto_LuaSandboxCallback::getExpensiveData","60","5.2"],["(for generator) \\u003Cmw.lua:673\\u003E","40","3.4"],["gsub","40","3.4"],["dataWrapper \\u003Cmw.lua:669\\u003E","40","3.4"],["Scribunto_LuaSandboxCallback::sub","40","3.4"],["Scribunto_LuaSandboxCallback::interwikiMap","20","1.7"],["[others]","220","19.0"]]},"cachereport":{"origin":"mw1332","timestamp":"20220721165317","ttl":1814400,"transientcontent":false}}});});</script>\n<script type="application/ld+json">{"@context":"https:\\/\\/schema.org","@type":"Article","name":"Monty Python\'s Flying Circus","url":"https:\\/\\/en.wikipedia.org\\/wiki\\/Monty_Python%27s_Flying_Circus","sameAs":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","mainEntity":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\\/\\/www.wikimedia.org\\/static\\/images\\/wmf-hor-googpub.png"}},"datePublished":"2001-10-11T18:17:24Z","dateModified":"2022-07-21T01:08:19Z","image":"https:\\/\\/upload.wikimedia.org\\/wikipedia\\/en\\/c\\/cd\\/Monty_Python%27s_Flying_Circus_Title_Card.png","headline":"British sketch comedy television series"}</script><script type="application/ld+json">{"@context":"https:\\/\\/schema.org","@type":"Article","name":"Monty Python\'s Flying Circus","url":"https:\\/\\/en.wikipedia.org\\/wiki\\/Monty_Python%27s_Flying_Circus","sameAs":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","mainEntity":"http:\\/\\/www.wikidata.org\\/entity\\/Q16401","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\\/\\/www.wikimedia.org\\/static\\/images\\/wmf-hor-googpub.png"}},"datePublished":"2001-10-11T18:17:24Z","dateModified":"2022-07-21T01:08:19Z","image":"https:\\/\\/upload.wikimedia.org\\/wikipedia\\/en\\/c\\/cd\\/Monty_Python%27s_Flying_Circus_Title_Card.png","headline":"British sketch comedy television series"}</script>\n<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":195,"wgHostname":"mw1320"});});</script>\n</body>\n</html>'
w=re.finditer(r"<tr[>\s].*?</tr>", textwiki, re.MULTILINE|re.DOTALL)
r = re.compile(r"^<tr[>\s].*?Created\s+by.*?</tr>$",
re.MULTILINE|re.DOTALL)
for e in w:
if r.search(e.group()):
print(e.group())
break
<tr><th scope="row" class="infobox-label">Created by</th><td class="infobox-data"><a href="/wiki/Graham_Chapman" title="Graham Chapman">Graham Chapman</a><br /><a href="/wiki/John_Cleese" title="John Cleese">John Cleese</a><br /><a href="/wiki/Eric_Idle" title="Eric Idle">Eric Idle</a><br /><a href="/wiki/Terry_Jones" title="Terry Jones">Terry Jones</a><br /><a href="/wiki/Michael_Palin" title="Michael Palin">Michael Palin</a><br /><a href="/wiki/Terry_Gilliam" title="Terry Gilliam">Terry Gilliam</a></td></tr>
doc = lxml.html.fromstring(textwiki)
doc
<Element html at 0x1ccd2e73c70>
output = doc.xpath('//table[@class="infobox vevent"]/tr[th/text()="Created by"]/td/i')
output
[]
slownik = dict()
for e in t[0].getchildren():
if e.tag != "tr":
continue
eth = e.find("th")
etd = e.find("td")
if eth is not None and etd is not None:
slownik[eth.text_content()]= etd.text_content()
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/3678025103.py in <module> 1 slownik = dict() ----> 2 for e in t[0].getchildren(): 3 if e.tag != "tr": 4 continue 5 eth = e.find("th") IndexError: list index out of range
print(slownik["Created by"])
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/3777939595.py in <module> ----> 1 print(slownik["Created by"]) KeyError: 'Created by'
from pandas.io.html import read_html
page = 'https://en.wikipedia.org/wiki/University_of_California,_Berkeley'
infoboxes = read_html(page, index_col=0, attrs={"class": "infobox"})
wikitables = read_html(page, index_col=0, attrs={"class": "wikitable"})
print("Extracted {num} infoboxes".format(num=len(infoboxes)))
print("Extracted {num} wikitables".format(num=len(wikitables)))
infoboxes[0]
wikitables[1]
Extracted 1 infoboxes Extracted 3 wikitables
| 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | |
|---|---|---|---|---|---|---|---|---|---|
| Applicants[15][126][127][128][129][130] | 87398 | 89621 | 85057 | 82571 | 78923 | 73794 | 67713 | 61702 | 52953 |
| Admits[126][127][128][129][130] | 14676 | 13308 | 14552 | 14429 | 13332 | 13338 | 14181 | 13038 | 13523 |
| Admit rate[126][127][128][129][130] | 16.8% | 14.8% | 17.1% | 17.5% | 16.9% | 18.1% | 20.9% | 21.1% | 25.5% |
| Enrolled[15][126][127][131][132] | 6454 | 6012 | 6379 | 6253 | 5832 | 5813 | 5848 | 5365 | 5640 |
| SAT range [15][126][127][133][134][135][136][137][138] | 1330–1520 | 1300–1530 | 1300–1540 | 1930–2290 | 1870–2250 | 1840–2230 | 1870–2240 | 1840–2240 | 1870–2230 |
| ACT average [15][126][127][133][134][135][136][137][138] | 31 | 31 | 32 | 32 | 32 | 31 | 30 | 30 | 31 |
| GPA (unweighted) [15][126][127][133][134][135][136][137][138] | 3.89 | 3.89 | 3.91 | 3.86 | 3.87 | 3.85 | 3.86 | 3.84 | 3.83 |
import requests
from lxml import etree
# manually storing desired URL
url='https://en.wikipedia.org/wiki/Delhi_Public_School_Society'
# fetching its url through requests module
req = requests.get(url)
store = etree.fromstring(req.text)
# this will give Motto portion of above
# URL's info box of Wikipedia's page
output = store.xpath('//table[@class="infobox vcard"]/tr[th/text()="Motto"]/td/i')
# printing the text portion
len(output)
Traceback (most recent call last): File "C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\IPython\core\interactiveshell.py", line 3457, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "C:\Users\igors\AppData\Local\Temp/ipykernel_12268/3149667957.py", line 10, in <module> store = etree.fromstring(req.text) File "src/lxml/etree.pyx", line 3252, in lxml.etree.fromstring File "src/lxml/parser.pxi", line 1912, in lxml.etree._parseMemoryDocument File "src/lxml/parser.pxi", line 1793, in lxml.etree._parseDoc File "src/lxml/parser.pxi", line 1082, in lxml.etree._BaseParser._parseUnicodeDoc File "src/lxml/parser.pxi", line 615, in lxml.etree._ParserContext._handleParseResultDoc File "src/lxml/parser.pxi", line 725, in lxml.etree._handleParseResult File "src/lxml/parser.pxi", line 654, in lxml.etree._raiseParseError File "<string>", line 294 XMLSyntaxError: Opening and ending tag mismatch: input line 292 and div, line 294, column 10
help(xpath)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/3766596482.py in <module> ----> 1 help(xpath) NameError: name 'xpath' is not defined
#ODNOŚNIKI ZE STRONY
for e in doc.cssselect("a")[:5]:
if not e.attrib.has_key("href"):
continue
print((e.attrib["href"], e.text_content()))
('#mw-head', 'Jump to navigation')
('#searchInput', 'Jump to search')
('/wiki/Monty_Python%27s_Flying_Circus_(disambiguation)', "Monty Python's Flying Circus (disambiguation)")
('/wiki/File:Monty_Python%27s_Flying_Circus_Title_Card.png', '')
r = requests.get("http://en.wikipedia.org/wiki/Budapest")
doc = lxml.html.fromstring(r.text)
p = doc.cssselect("table.wikitable.collapsible")
res = []
if p[0].text_content().find("Climate data") != -1:
for e in p[0].findall("tr"):
res.append([ee.text_content() for ee in e.getchildren()])
tabela = pd.DataFrame(res)
tabela.ix[np.r_[0:3,8],:2]
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12268/3428654987.py in <module> 3 p = doc.cssselect("table.wikitable.collapsible") 4 res = [] ----> 5 if p[0].text_content().find("Climate data") != -1: 6 for e in p[0].findall("tr"): 7 res.append([ee.text_content() for ee in e.getchildren()]) IndexError: list index out of range
len(p)
0
help(cssselect)
Help on package cssselect:
NAME
cssselect
DESCRIPTION
CSS Selectors based on XPath
============================
This module supports selecting XML/HTML elements based on CSS selectors.
See the `CSSSelector` class for details.
:copyright: (c) 2007-2012 Ian Bicking and contributors.
See AUTHORS for more details.
:license: BSD, see LICENSE for more details.
PACKAGE CONTENTS
parser
xpath
DATA
VERSION = '1.1.0'
VERSION
1.1.0
FILE
c:\users\igors\miniconda3\envs\igorpython\lib\site-packages\cssselect\__init__.py
import bs4
from bs4 import BeautifulSoup
import requests
import pandas as pd
import numpy as np
wiki_url="https://pl.wikipedia.org/wiki/%C5%81%C3%B3d%C5%BA"
table_id="wikitable collapsible"
response = requests.get(wiki_url)
soup = BeautifulSoup(response.text, 'html.parser')
k_table = soup.find("table",class_ = table_id)
df = pd.read_html(str(k_table))
df = pd.DataFrame(df)
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_10364/2576693850.py in <module> ----> 1 df = pd.DataFrame(df) ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy) 735 ) 736 else: --> 737 mgr = ndarray_to_mgr( 738 data, 739 index, ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\construction.py in ndarray_to_mgr(values, index, columns, dtype, copy, typ) 329 # by definition an array here 330 # the dtypes will be coerced to a single dtype --> 331 values = _prep_ndarray(values, copy=copy_on_sanitize) 332 333 if dtype is not None and not is_dtype_equal(values.dtype, dtype): ~\miniconda3\envs\igorpython\lib\site-packages\pandas\core\internals\construction.py in _prep_ndarray(values, copy) 589 values = values.reshape((values.shape[0], 1)) 590 elif values.ndim != 2: --> 591 raise ValueError(f"Must pass 2-d input. shape={values.shape}") 592 593 return values ValueError: Must pass 2-d input. shape=(1, 6, 14)
new_df = np.reshape(df, (14,-1))
df[0,:,:]
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_10364/511075889.py in <module> ----> 1 df[0,:,:] TypeError: list indices must be integers or slices, not tuple
df[1,5,13]
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_10364/3195809753.py in <module> ----> 1 df[1,5,13] TypeError: list indices must be integers or slices, not tuple
new_df = np.reshape(df, (7,6,2))
df[0]
| Miesiąc | Sty | Lut | Mar | Kwi | Maj | Cze | Lip | Sie | Wrz | Paź | Lis | Gru | Roczna | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Średnie temperatury w dzień [°C] | 0.5 | 2.1 | 6.9 | 13.5 | 18.9 | 21.7 | 24.1 | 23.8 | 18.4 | 12.7 | 6.0 | 1.9 | 125 |
| 1 | Średnie dobowe temperatury [°C] | -1.6 | -0.6 | 3.2 | 8.7 | 13.8 | 16.7 | 18.9 | 18.5 | 13.8 | 9.0 | 3.6 | 0.0 | 87 |
| 2 | Średnie temperatury w nocy [°C] | -3.6 | -3.2 | -0.4 | 4.0 | 8.7 | 11.7 | 13.8 | 13.3 | 9.3 | 5.3 | 1.3 | -1.8 | 49 |
| 3 | Opady [mm] | 40.7 | 36.3 | 39.7 | 33.5 | 63.5 | 65.2 | 90.0 | 56.5 | 42.1 | 37.6 | 40.8 | 35.9 | 582 |
| 4 | Średnie usłonecznienie (w godzinach) | 42 | 54 | 113 | 171 | 237 | 224 | 229 | 227 | 156 | 105 | 49 | 36 | 1644 |
| 5 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 |
type(df[0])
pandas.core.frame.DataFrame
type(df)
list
new_df = df[0]
new_df.iloc[:,3]
0 6.9 1 3.2 2 -0.4 3 39.7 4 113 5 Źródło: [16] 2020-01-01 Name: Mar, dtype: object
new_df
| Miesiąc | Sty | Lut | Mar | Kwi | Maj | Cze | Lip | Sie | Wrz | Paź | Lis | Gru | Roczna | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Średnie temperatury w dzień [°C] | 0.5 | 2.1 | 6.9 | 13.5 | 18.9 | 21.7 | 24.1 | 23.8 | 18.4 | 12.7 | 6.0 | 1.9 | 125 |
| 1 | Średnie dobowe temperatury [°C] | -1.6 | -0.6 | 3.2 | 8.7 | 13.8 | 16.7 | 18.9 | 18.5 | 13.8 | 9.0 | 3.6 | 0.0 | 87 |
| 2 | Średnie temperatury w nocy [°C] | -3.6 | -3.2 | -0.4 | 4.0 | 8.7 | 11.7 | 13.8 | 13.3 | 9.3 | 5.3 | 1.3 | -1.8 | 49 |
| 3 | Opady [mm] | 40.7 | 36.3 | 39.7 | 33.5 | 63.5 | 65.2 | 90.0 | 56.5 | 42.1 | 37.6 | 40.8 | 35.9 | 582 |
| 4 | Średnie usłonecznienie (w godzinach) | 42 | 54 | 113 | 171 | 237 | 224 | 229 | 227 | 156 | 105 | 49 | 36 | 1644 |
| 5 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 | Źródło: [16] 2020-01-01 |
#bazy danych
import os, os.path, tempfile, csv, sqlite3
import numpy as np, pandas as pd
Downloads = os.path.join(os.getcwd(),"Downloads")
Downloads
nycf = os.path.join(Downloads,"nycflights13")
nycf
'C:\\Users\\igors\\Downloads\\nycflights13'
airlines = pd.read_csv(os.path.join(nycf,"airlines.csv"))
airlines=airlines.iloc[:,1:]
nycflights13 = ["airports", "airlines", "weather", "planes", "flights"]
for d in nycflights13:
globals()[d] = pd.read_csv(os.path.join(nycf, d+".csv"))
globals()["weather"]
| Unnamed: 0 | origin | year | month | day | hour | temp | dewp | humid | wind_dir | wind_speed | wind_gust | precip | pressure | visib | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | EWR | 2013 | 1.0 | 1.0 | 0.0 | 37.04 | 21.92 | 53.97 | 230.0 | 10.35702 | 11.918651 | 0.0 | 1013.9 | 10.0 |
| 1 | 2 | EWR | 2013 | 1.0 | 1.0 | 1.0 | 37.04 | 21.92 | 53.97 | 230.0 | 13.80936 | 15.891535 | 0.0 | 1013.0 | 10.0 |
| 2 | 3 | EWR | 2013 | 1.0 | 1.0 | 2.0 | 37.94 | 21.92 | 52.09 | 230.0 | 12.65858 | 14.567241 | 0.0 | 1012.6 | 10.0 |
| 3 | 4 | EWR | 2013 | 1.0 | 1.0 | 3.0 | 37.94 | 23.00 | 54.51 | 230.0 | 13.80936 | 15.891535 | 0.0 | 1012.7 | 10.0 |
| 4 | 5 | EWR | 2013 | 1.0 | 1.0 | 4.0 | 37.94 | 24.08 | 57.04 | 240.0 | 14.96014 | 17.215830 | 0.0 | 1012.8 | 10.0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8714 | 8715 | JFK | 2013 | 9.0 | 2.0 | 20.0 | 75.20 | 73.40 | 94.14 | 200.0 | 4.60312 | 5.297178 | 0.0 | NaN | 4.0 |
| 8715 | 8716 | JFK | 2013 | 10.0 | 23.0 | 10.0 | 48.92 | 39.02 | 68.51 | 60.0 | 4.60312 | 5.297178 | 0.0 | 1008.1 | 10.0 |
| 8716 | 8717 | JFK | 2013 | 10.0 | 23.0 | 11.0 | 48.92 | 39.02 | 68.51 | 40.0 | 4.60312 | 5.297178 | 0.0 | 1008.5 | 10.0 |
| 8717 | 8718 | JFK | 2013 | 12.0 | 17.0 | 5.0 | 26.96 | 10.94 | 50.34 | 40.0 | 4.60312 | 5.297178 | 0.0 | 1023.9 | 10.0 |
| 8718 | 8719 | LGA | 2013 | 8.0 | 22.0 | 22.0 | 75.92 | 66.92 | 73.68 | 210.0 | 8.05546 | 9.270062 | 0.0 | 1011.9 | 10.0 |
8719 rows × 15 columns
weather
| Unnamed: 0 | origin | year | month | day | hour | temp | dewp | humid | wind_dir | wind_speed | wind_gust | precip | pressure | visib | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | EWR | 2013 | 1.0 | 1.0 | 0.0 | 37.04 | 21.92 | 53.97 | 230.0 | 10.35702 | 11.918651 | 0.0 | 1013.9 | 10.0 |
| 1 | 2 | EWR | 2013 | 1.0 | 1.0 | 1.0 | 37.04 | 21.92 | 53.97 | 230.0 | 13.80936 | 15.891535 | 0.0 | 1013.0 | 10.0 |
| 2 | 3 | EWR | 2013 | 1.0 | 1.0 | 2.0 | 37.94 | 21.92 | 52.09 | 230.0 | 12.65858 | 14.567241 | 0.0 | 1012.6 | 10.0 |
| 3 | 4 | EWR | 2013 | 1.0 | 1.0 | 3.0 | 37.94 | 23.00 | 54.51 | 230.0 | 13.80936 | 15.891535 | 0.0 | 1012.7 | 10.0 |
| 4 | 5 | EWR | 2013 | 1.0 | 1.0 | 4.0 | 37.94 | 24.08 | 57.04 | 240.0 | 14.96014 | 17.215830 | 0.0 | 1012.8 | 10.0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8714 | 8715 | JFK | 2013 | 9.0 | 2.0 | 20.0 | 75.20 | 73.40 | 94.14 | 200.0 | 4.60312 | 5.297178 | 0.0 | NaN | 4.0 |
| 8715 | 8716 | JFK | 2013 | 10.0 | 23.0 | 10.0 | 48.92 | 39.02 | 68.51 | 60.0 | 4.60312 | 5.297178 | 0.0 | 1008.1 | 10.0 |
| 8716 | 8717 | JFK | 2013 | 10.0 | 23.0 | 11.0 | 48.92 | 39.02 | 68.51 | 40.0 | 4.60312 | 5.297178 | 0.0 | 1008.5 | 10.0 |
| 8717 | 8718 | JFK | 2013 | 12.0 | 17.0 | 5.0 | 26.96 | 10.94 | 50.34 | 40.0 | 4.60312 | 5.297178 | 0.0 | 1023.9 | 10.0 |
| 8718 | 8719 | LGA | 2013 | 8.0 | 22.0 | 22.0 | 75.92 | 66.92 | 73.68 | 210.0 | 8.05546 | 9.270062 | 0.0 | 1011.9 | 10.0 |
8719 rows × 15 columns
baza = os.path.join(nycf, "nycflights13.db")
if os.path.isfile(baza):
os.remove(baza)
baza
'C:\\Users\\igors\\Downloads\\nycflights13\\nycflights13.db'
conn = sqlite3.connect(baza)
type(conn)
sqlite3.Connection
conn.execute("""
CREATE TABLE airlines(
carrier CHAR(2) PRIMARY KEY,
name VARCHAR(256)
)
""")
--------------------------------------------------------------------------- OperationalError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_13772/1384506213.py in <module> ----> 1 conn.execute(""" 2 CREATE TABLE airlines( 3 carrier CHAR(2) PRIMARY KEY, 4 name VARCHAR(256) 5 ) OperationalError: table airlines already exists
conn.commit()
rekord = airlines.to_records(index=False)[0]
rekord
('9E', 'Endeavor Air Inc.')
conn.execute("INSERT INTO airlines(carrier, name) VALUES(?, ?)", rekord)
<sqlite3.Cursor at 0x186c6df3880>
conn.rollback()
conn.executemany("""
INSERT INTO airlines(carrier, name) VALUES (?, ?)
""", airlines.to_records(index=False))
<sqlite3.Cursor at 0x186c6df3b90>
conn.commit()
cur = conn.execute("""
SELECT * FROM airlines
WHERE name LIKE '%AMERICA%'
""")
w = cur.fetchall()
w
[('AA', 'American Airlines Inc.'), ('VX', 'Virgin America')]
pd.DataFrame(w,columns = ["carrier", "name"])
| carrier | name | |
|---|---|---|
| 0 | AA | American Airlines Inc. |
| 1 | VX | Virgin America |
pd.read_sql_query("""
SELECT * FROM airlines
WHERE name LIKE '%AMERICA%'
""", conn)
| carrier | name | |
|---|---|---|
| 0 | AA | American Airlines Inc. |
| 1 | VX | Virgin America |
airports.to_sql("airports",conn)
1397
pd.read_sql_query("PRAGMA table_info(airports)", conn)
| cid | name | type | notnull | dflt_value | pk | |
|---|---|---|---|---|---|---|
| 0 | 0 | index | INTEGER | 0 | None | 0 |
| 1 | 1 | Unnamed: 0 | INTEGER | 0 | None | 0 |
| 2 | 2 | faa | TEXT | 0 | None | 0 |
| 3 | 3 | name | TEXT | 0 | None | 0 |
| 4 | 4 | lat | REAL | 0 | None | 0 |
| 5 | 5 | lon | REAL | 0 | None | 0 |
| 6 | 6 | alt | INTEGER | 0 | None | 0 |
| 7 | 7 | tz | INTEGER | 0 | None | 0 |
| 8 | 8 | dst | TEXT | 0 | None | 0 |
pd.read_sql_query("""
SELECT faa, name, alt
FROM airports
ORDER BY alt DESC
LIMIT 3
""", conn)
| faa | name | alt | |
|---|---|---|---|
| 0 | TEX | Telluride | 9078 |
| 1 | TVL | Lake Tahoe Airport | 8544 |
| 2 | ASE | Aspen Pitkin County Sardy Field | 7820 |
fb_url="file:///C:/Users/igors/AppData/Local/Temp/Rar$EXa5828.37069/friends_and_followers/friends.html"
divclass="_a706"
response = requests.get(fb_url)
soup = BeautifulSoup(response.text, 'html.parser')
fb_table = soup.find("div",div_ = "divclass")
df = pd.read_html(str(fb_table))
df = pd.DataFrame(df)
--------------------------------------------------------------------------- InvalidSchema Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_10612/558574603.py in <module> 1 fb_url="file:///C:/Users/igors/AppData/Local/Temp/Rar$EXa5828.37069/friends_and_followers/friends.html" 2 divclass="_a706" ----> 3 response = requests.get(fb_url) 4 soup = BeautifulSoup(response.text, 'html.parser') 5 fb_table = soup.find("div",div_ = "divclass") ~\miniconda3\envs\igorpython\lib\site-packages\requests\api.py in get(url, params, **kwargs) 71 """ 72 ---> 73 return request("get", url, params=params, **kwargs) 74 75 ~\miniconda3\envs\igorpython\lib\site-packages\requests\api.py in request(method, url, **kwargs) 57 # cases, and look like a memory leak in others. 58 with sessions.Session() as session: ---> 59 return session.request(method=method, url=url, **kwargs) 60 61 ~\miniconda3\envs\igorpython\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json) 585 } 586 send_kwargs.update(settings) --> 587 resp = self.send(prep, **send_kwargs) 588 589 return resp ~\miniconda3\envs\igorpython\lib\site-packages\requests\sessions.py in send(self, request, **kwargs) 693 694 # Get the appropriate adapter to use --> 695 adapter = self.get_adapter(url=request.url) 696 697 # Start time (approximately) of the request ~\miniconda3\envs\igorpython\lib\site-packages\requests\sessions.py in get_adapter(self, url) 790 791 # Nothing matches :-/ --> 792 raise InvalidSchema(f"No connection adapters were found for {url!r}") 793 794 def close(self): InvalidSchema: No connection adapters were found for 'file:///C:/Users/igors/AppData/Local/Temp/Rar$EXa5828.37069/friends_and_followers/friends.html'
pd.read_html(os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04","friends.html"))
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_10612/4277040679.py in <module> ----> 1 pd.read_html(os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04","friends.html")) ~\miniconda3\envs\igorpython\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs) 309 stacklevel=stacklevel, 310 ) --> 311 return func(*args, **kwargs) 312 313 return wrapper ~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, thousands, encoding, decimal, converters, na_values, keep_default_na, displayed_only) 1111 io = stringify_path(io) 1112 -> 1113 return _parse( 1114 flavor=flavor, 1115 io=io, ~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in _parse(flavor, io, match, attrs, encoding, displayed_only, **kwargs) 937 else: 938 assert retained is not None # for mypy --> 939 raise retained 940 941 ret = [] ~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in _parse(flavor, io, match, attrs, encoding, displayed_only, **kwargs) 917 918 try: --> 919 tables = p.parse_tables() 920 except ValueError as caught: 921 # if `io` is an io-like object, check if it's seekable ~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in parse_tables(self) 237 list of parsed (header, body, footer) tuples from tables. 238 """ --> 239 tables = self._parse_tables(self._build_doc(), self.match, self.attrs) 240 return (self._parse_thead_tbody_tfoot(table) for table in tables) 241 ~\miniconda3\envs\igorpython\lib\site-packages\pandas\io\html.py in _parse_tables(self, doc, match, attrs) 567 568 if not tables: --> 569 raise ValueError("No tables found") 570 571 result = [] ValueError: No tables found
friends=os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04","friends.html")
import codecs
from bs4 import BeautifulSoup
HTMLFile = open(friends, encoding="UTF-8")
index = HTMLFile.read()
index
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[31], line 3 1 from bs4 import BeautifulSoup ----> 3 HTMLFile = open(friends, encoding="UTF-8") 5 index = HTMLFile.read() 6 index NameError: name 'friends' is not defined
# Creating a BeautifulSoup object and specifying the parser
S = BeautifulSoup(index, 'lxml')
S
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[30], line 2 1 # Creating a BeautifulSoup object and specifying the parser ----> 2 S = BeautifulSoup(index, 'lxml') 4 S NameError: name 'BeautifulSoup' is not defined
w = re.finditer(r"2ph_ _a6-h", str(S))
j=0
for i in w:
j=j+1
tab.loc[j-1,"start"] = str(S)[i.start()+18:i.start()+18+str(S)[i.start()+18:i.end()+45].find("</d")]
tab
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[29], line 1 ----> 1 w = re.finditer(r"2ph_ _a6-h", str(S)) 2 j=0 3 for i in w: NameError: name 're' is not defined
tab = pd.DataFrame()
combined_dfs = pd.concat([tab, tab2])
symmetric_difference = combined_dfs.drop_duplicates(keep=False)
symmetric_difference
| start | |
|---|---|
| 634 | Maciek Sławiński |
symmetric_difference.loc[634,"start"]
symmetric_difference["dodany?"] = "usunięty"
C:\Users\igors\AppData\Local\Temp/ipykernel_10612/3398942285.py:2: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy symmetric_difference["dodany?"] = "usunięty"
symmetric_difference.values[0,0]
'Maciek Sławiński'
for i in symmetric_difference.values[:,0]:
if i in tab2["start"].values:
symmetric_difference.loc[634,"dodany?"]="dodany"
else:
print("nie")
C:\Users\igors\AppData\Local\Temp/ipykernel_10612/1624371729.py:3: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy symmetric_difference.loc[634,"dodany?"]="dodany"
symmetric_difference
| start | dodany? | |
|---|---|---|
| 634 | Maciek Sławiński | dodany |
from bs4 import BeautifulSoup
import os.path
import re
import pandas as pd
friends_1=os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04 (4)","friends.html")
friends_2=("C://Users//igors//Downloads//facebook-igorszczesny04 (4)//friends.html")
for friends in [friends_1, friends_2]
HTMLFile = open(friends, encoding="UTF-8")
index = HTMLFile.read()
S = BeautifulSoup(index, 'lxml')
w = re.finditer(r"2ph_ _a6-h", str(S))
tab = pd.DataFrame()
j=0
for i in w:
j=j+1
tab.loc[j-1,"start"] = str(S)[i.start()+18:i.start()+18+str(S)[i.start()+18:i.end()+45].find("</d")]
tab = tab.drop_duplicates()
tab2 = tab.copy()
tab2.loc[3,"start"]="Natalia Nyk"
tab2.loc[1,"start"]="Ella Chen"
tab2.loc[634,"start"]="Maciek Sławiński"
tab.loc[634,"start"]="Fiszcz Fiszczowski"
tab.loc[635,"start"]="Magdalena Ogórek"
combined_dfs = pd.concat([tab, tab2])
symmetric_difference = combined_dfs.drop_duplicates(keep=False)
symmetric_difference["dodany?"] = "usunięty"
symmetric_difference=symmetric_difference.reset_index()
symmetric_difference=symmetric_difference.drop(columns=['index'])
for count,i in enumerate(symmetric_difference.values[:,0]):
if i in tab2["start"].values:
symmetric_difference.loc[count,"dodany?"]="dodany"
symmetric_difference
C:\Users\igors\AppData\Local\Temp/ipykernel_10372/2867500722.py:29: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy symmetric_difference["dodany?"] = "usunięty"
| start | dodany? | |
|---|---|---|
| 0 | Fiszcz Fiszczowski | usunięty |
| 1 | Magdalena Ogórek | usunięty |
| 2 | Maciek Sławiński | dodany |
tab_2
| start | |
|---|---|
| 0 | Kiran Saba Warraich |
| 1 | Natalia Nyk |
| 2 | Ayşegül Özmen |
| 3 | Faty Mbarki |
| 4 | Ibtissam Chahbouni |
| ... | ... |
| 626 | Piotr Rybicki |
| 627 | Magdalena Mitek |
| 628 | Malwina Sejdak |
| 629 | Maciej Grzegory |
| 630 | Piotrek Parol |
631 rows × 1 columns
#OFICJALNA WERSJA - KTO USUNĄŁ ZE ZNAJOMYCH
from bs4 import BeautifulSoup
import os.path
import re
import pandas as pd
friends_1=os.path.join(os.getcwd(),"Downloads","facebook-igorszczesny04 (10)","friends.html")
friends_2=("C://Users//igors//Downloads//facebook-igorszczesny04 (11)//friends.html")
tab_1 = pd.DataFrame()
tab_2 = pd.DataFrame()
for friends in [friends_1, friends_2]:
HTMLFile = open(friends, encoding="UTF-8")
index = HTMLFile.read()
S = BeautifulSoup(index, 'lxml')
w = re.finditer(r"2ph_ _a6-h", str(S))
tab = pd.DataFrame()
j=0
s = {
friends_1 : tab_1,
friends_2 : tab_2
}
for i in w:
j=j+1
s[friends].loc[j-1,"start"] = str(S)[i.start()+18:i.start()+18+str(S)[i.start()+18:i.end()+45].find("</d")]
s[friends] = s[friends].drop_duplicates()
combined_dfs = pd.concat([tab_1, tab_2])
symmetric_difference = combined_dfs.drop_duplicates(keep=False)
symmetric_difference["dodany?"] = "usunięty"
symmetric_difference=symmetric_difference.reset_index()
symmetric_difference=symmetric_difference.drop(columns=['index'])
for count,i in enumerate(symmetric_difference.values[:,0]):
if i in tab_2["start"].values:
symmetric_difference.loc[count,"dodany?"]="dodany"
symmetric_difference
C:\Users\igors\AppData\Local\Temp/ipykernel_12864/2445382594.py:39: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy symmetric_difference["dodany?"] = "usunięty"
| start | dodany? | |
|---|---|---|
| 0 | Julia Bargłowska | usunięty |
| 1 | Rafał Jonko | usunięty |
| 2 | Tomek Wasilewski | usunięty |
| 3 | Zuzanna Stępnik | dodany |
conn.close()
#bazy danych cd
if os.path.isfile(baza):
os.remove(baza)
conn = sqlite3.connect(baza)
airports.to_sql("airports",conn)
airlines.to_sql("airlines",conn)
planes.to_sql("planes",conn)
weather.to_sql("weather",conn)
flights.to_sql("flights",conn)
336776
pd.read_sql_query("""
SELECT DISTINCT engine FROM planes
""",conn)
| engine | |
|---|---|
| 0 | Turbo-fan |
| 1 | Turbo-jet |
| 2 | Reciprocating |
| 3 | 4 Cycle |
| 4 | Turbo-shaft |
| 5 | Turbo-prop |
pd.DataFrame(planes.engine.unique(), columns=["Engine"])
| Engine | |
|---|---|
| 0 | Turbo-fan |
| 1 | Turbo-jet |
| 2 | Reciprocating |
| 3 | 4 Cycle |
| 4 | Turbo-shaft |
| 5 | Turbo-prop |
pd.read_sql_query("""
SELECT DISTINCT type, engine FROM planes
""",conn)
| type | engine | |
|---|---|---|
| 0 | Fixed wing multi engine | Turbo-fan |
| 1 | Fixed wing multi engine | Turbo-jet |
| 2 | Fixed wing single engine | Reciprocating |
| 3 | Fixed wing multi engine | Reciprocating |
| 4 | Fixed wing single engine | 4 Cycle |
| 5 | Rotorcraft | Turbo-shaft |
| 6 | Fixed wing multi engine | Turbo-prop |
planes.loc[:,["type","engine"]].drop_duplicates()
| type | engine | |
|---|---|---|
| 0 | Fixed wing multi engine | Turbo-fan |
| 51 | Fixed wing multi engine | Turbo-jet |
| 424 | Fixed wing single engine | Reciprocating |
| 427 | Fixed wing multi engine | Reciprocating |
| 686 | Fixed wing single engine | 4 Cycle |
| 811 | Rotorcraft | Turbo-shaft |
| 1045 | Fixed wing multi engine | Turbo-prop |
pd.read_sql_query("""
SELECT engine,COUNT(*) FROM planes
GROUP BY engine
""",conn)
| engine | COUNT(*) | |
|---|---|---|
| 0 | 4 Cycle | 2 |
| 1 | Reciprocating | 28 |
| 2 | Turbo-fan | 2750 |
| 3 | Turbo-jet | 535 |
| 4 | Turbo-prop | 2 |
| 5 | Turbo-shaft | 5 |
planes.engine.value_counts().reset_index()
| index | engine | |
|---|---|---|
| 0 | Turbo-fan | 2750 |
| 1 | Turbo-jet | 535 |
| 2 | Reciprocating | 28 |
| 3 | Turbo-shaft | 5 |
| 4 | 4 Cycle | 2 |
| 5 | Turbo-prop | 2 |
pd.read_sql_query("""
SELECT count(*),engine, type FROM planes
GROUP BY engine, type
""",conn)
| count(*) | engine | type | |
|---|---|---|---|
| 0 | 2 | 4 Cycle | Fixed wing single engine |
| 1 | 5 | Reciprocating | Fixed wing multi engine |
| 2 | 23 | Reciprocating | Fixed wing single engine |
| 3 | 2750 | Turbo-fan | Fixed wing multi engine |
| 4 | 535 | Turbo-jet | Fixed wing multi engine |
| 5 | 2 | Turbo-prop | Fixed wing multi engine |
| 6 | 5 | Turbo-shaft | Rotorcraft |
planes.groupby(["engine","type"]).size().reset_index()
| engine | type | 0 | |
|---|---|---|---|
| 0 | 4 Cycle | Fixed wing single engine | 2 |
| 1 | Reciprocating | Fixed wing multi engine | 5 |
| 2 | Reciprocating | Fixed wing single engine | 23 |
| 3 | Turbo-fan | Fixed wing multi engine | 2750 |
| 4 | Turbo-jet | Fixed wing multi engine | 535 |
| 5 | Turbo-prop | Fixed wing multi engine | 2 |
| 6 | Turbo-shaft | Rotorcraft | 5 |
pd.read_sql_query("""
SELECT type, engine, min(year), max(year) from planes
GROUP BY type, engine
""",conn)
| type | engine | min(year) | max(year) | |
|---|---|---|---|---|
| 0 | Fixed wing multi engine | Reciprocating | 1956.0 | 1980.0 |
| 1 | Fixed wing multi engine | Turbo-fan | 1965.0 | 2013.0 |
| 2 | Fixed wing multi engine | Turbo-jet | 1974.0 | 2005.0 |
| 3 | Fixed wing multi engine | Turbo-prop | 1967.0 | 1972.0 |
| 4 | Fixed wing single engine | 4 Cycle | 1975.0 | 1975.0 |
| 5 | Fixed wing single engine | Reciprocating | 1959.0 | 2007.0 |
| 6 | Rotorcraft | Turbo-shaft | 1975.0 | 2012.0 |
planes.groupby(["type","engine"])["year"].agg([np.min, np.max])
| amin | amax | ||
|---|---|---|---|
| type | engine | ||
| Fixed wing multi engine | Reciprocating | 1956.0 | 1980.0 |
| Turbo-fan | 1965.0 | 2013.0 | |
| Turbo-jet | 1974.0 | 2005.0 | |
| Turbo-prop | 1967.0 | 1972.0 | |
| Fixed wing single engine | 4 Cycle | 1975.0 | 1975.0 |
| Reciprocating | 1959.0 | 2007.0 | |
| Rotorcraft | Turbo-shaft | 1975.0 | 2012.0 |
planes.groupby(["type","engine"])["year"].describe().unstack()[["min","max"]]
| min | max | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| engine | 4 Cycle | Reciprocating | Turbo-fan | Turbo-jet | Turbo-prop | Turbo-shaft | 4 Cycle | Reciprocating | Turbo-fan | Turbo-jet | Turbo-prop | Turbo-shaft |
| type | ||||||||||||
| Fixed wing multi engine | NaN | 1956.0 | 1965.0 | 1974.0 | 1967.0 | NaN | NaN | 1980.0 | 2013.0 | 2005.0 | 1972.0 | NaN |
| Fixed wing single engine | 1975.0 | 1959.0 | NaN | NaN | NaN | NaN | 1975.0 | 2007.0 | NaN | NaN | NaN | NaN |
| Rotorcraft | NaN | NaN | NaN | NaN | NaN | 1975.0 | NaN | NaN | NaN | NaN | NaN | 2012.0 |
pd.read_sql_query("""
SELECT * FROM planes
WHERE speed IS NOT NULL
""",conn)
| index | Unnamed: 0 | tailnum | year | type | manufacturer | model | engines | seats | speed | engine | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 424 | 425 | N201AA | 1959.0 | Fixed wing single engine | CESSNA | 150 | 1 | 2 | 90.0 | Reciprocating |
| 1 | 427 | 428 | N202AA | 1980.0 | Fixed wing multi engine | CESSNA | 421C | 2 | 8 | 90.0 | Reciprocating |
| 2 | 821 | 822 | N350AA | 1980.0 | Fixed wing multi engine | PIPER | PA-31-350 | 2 | 8 | 162.0 | Reciprocating |
| 3 | 893 | 894 | N364AA | 1973.0 | Fixed wing multi engine | CESSNA | 310Q | 2 | 6 | 167.0 | Reciprocating |
| 4 | 1027 | 1028 | N378AA | 1963.0 | Fixed wing single engine | CESSNA | 172E | 1 | 4 | 105.0 | Reciprocating |
| 5 | 1037 | 1038 | N381AA | 1956.0 | Fixed wing multi engine | DOUGLAS | DC-7BF | 4 | 102 | 232.0 | Reciprocating |
| 6 | 1190 | 1191 | N425AA | 1968.0 | Fixed wing single engine | PIPER | PA-28-180 | 1 | 4 | 107.0 | Reciprocating |
| 7 | 1430 | 1431 | N508AA | 1975.0 | Rotorcraft | BELL | 206B | 1 | 5 | 112.0 | Turbo-shaft |
| 8 | 1480 | 1481 | N519MQ | 1983.0 | Fixed wing single engine | CESSNA | A185F | 1 | 6 | 127.0 | Reciprocating |
| 9 | 1515 | 1516 | N525AA | 1980.0 | Fixed wing multi engine | PIPER | PA-31-350 | 2 | 8 | 162.0 | Reciprocating |
| 10 | 1589 | 1590 | N545AA | 1976.0 | Fixed wing single engine | PIPER | PA-32R-300 | 1 | 7 | 126.0 | Reciprocating |
| 11 | 1694 | 1695 | N567AA | 1959.0 | Fixed wing single engine | DEHAVILLAND | OTTER DHC-3 | 1 | 16 | 95.0 | Reciprocating |
| 12 | 1813 | 1814 | N600TR | 1979.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
| 13 | 1867 | 1868 | N615AA | 1967.0 | Fixed wing multi engine | BEECH | 65-A90 | 2 | 9 | 202.0 | Turbo-prop |
| 14 | 1883 | 1884 | N621AA | 1975.0 | Fixed wing single engine | CESSNA | 172M | 1 | 4 | 108.0 | 4 Cycle |
| 15 | 2131 | 2132 | N675MC | 1975.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
| 16 | 2309 | 2310 | N737MQ | 1977.0 | Fixed wing single engine | CESSNA | 172N | 1 | 4 | 105.0 | Reciprocating |
| 17 | 2402 | 2403 | N762NC | 1976.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
| 18 | 2432 | 2433 | N767NC | 1977.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
| 19 | 2472 | 2473 | N774NC | 1978.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
| 20 | 2483 | 2484 | N777NC | 1979.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
| 21 | 2492 | 2493 | N779NC | 1979.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
| 22 | 2503 | 2504 | N782NC | 1980.0 | Fixed wing multi engine | MCDONNELL DOUGLAS | DC-9-51 | 2 | 139 | 432.0 | Turbo-jet |
planes.loc[~planes.speed.isnull(),["tailnum","speed"]]
| tailnum | speed | |
|---|---|---|
| 424 | N201AA | 90.0 |
| 427 | N202AA | 90.0 |
| 821 | N350AA | 162.0 |
| 893 | N364AA | 167.0 |
| 1027 | N378AA | 105.0 |
| 1037 | N381AA | 232.0 |
| 1190 | N425AA | 107.0 |
| 1430 | N508AA | 112.0 |
| 1480 | N519MQ | 127.0 |
| 1515 | N525AA | 162.0 |
| 1589 | N545AA | 126.0 |
| 1694 | N567AA | 95.0 |
| 1813 | N600TR | 432.0 |
| 1867 | N615AA | 202.0 |
| 1883 | N621AA | 108.0 |
| 2131 | N675MC | 432.0 |
| 2309 | N737MQ | 105.0 |
| 2402 | N762NC | 432.0 |
| 2432 | N767NC | 432.0 |
| 2472 | N774NC | 432.0 |
| 2483 | N777NC | 432.0 |
| 2492 | N779NC | 432.0 |
| 2503 | N782NC | 432.0 |
pd.read_sql_query("""
SELECT tailnum FROM planes
WHERE year >= 2010
""",conn)
| tailnum | |
|---|---|
| 0 | N127UW |
| 1 | N128UW |
| 2 | N150UW |
| 3 | N151UW |
| 4 | N152UW |
| ... | ... |
| 296 | N965WN |
| 297 | N966WN |
| 298 | N967WN |
| 299 | N968WN |
| 300 | N969WN |
301 rows × 1 columns
planes.loc[planes.year>=2010,"tailnum"]
88 N127UW
89 N128UW
215 N150UW
216 N151UW
218 N152UW
...
3251 N965WN
3254 N966WN
3258 N967WN
3261 N968WN
3264 N969WN
Name: tailnum, Length: 301, dtype: object
pd.read_sql_query("""
SELECT * FROM planes
WHERE seats BETWEEN 100 AND 200
LIMIT 5
""",conn)
| index | Unnamed: 0 | tailnum | year | type | manufacturer | model | engines | seats | speed | engine | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | N102UW | 1998.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | None | Turbo-fan |
| 1 | 2 | 3 | N103US | 1999.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | None | Turbo-fan |
| 2 | 3 | 4 | N104UW | 1999.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | None | Turbo-fan |
| 3 | 5 | 6 | N105UW | 1999.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | None | Turbo-fan |
| 4 | 6 | 7 | N107US | 1999.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | None | Turbo-fan |
planes.loc[(planes.seats<=200) & (planes.seats>=100),["tailnum"]].head(5)
| tailnum | |
|---|---|
| 1 | N102UW |
| 2 | N103US |
| 3 | N104UW |
| 5 | N105UW |
| 6 | N107US |
pd.read_sql_query("""
SELECT tailnum, manufacturer, seats from planes
WHERE manufacturer IN ("BOEING","AIRBUS") AND seats>378
""",conn)
| tailnum | manufacturer | seats | |
|---|---|---|---|
| 0 | N206UA | BOEING | 400 |
| 1 | N228UA | BOEING | 400 |
| 2 | N272AT | BOEING | 400 |
| 3 | N507AY | AIRBUS | 379 |
| 4 | N508AY | AIRBUS | 379 |
| ... | ... | ... | ... |
| 60 | N862DA | BOEING | 400 |
| 61 | N863DA | BOEING | 400 |
| 62 | N865DA | BOEING | 400 |
| 63 | N903JB | AIRBUS | 379 |
| 64 | N913JB | AIRBUS | 379 |
65 rows × 3 columns
planes.loc[planes.manufacturer.isin(["BOEING","AIRBUS"]) & (planes.seats>=379),["tailnum","manufacturer","seats"]]
| tailnum | manufacturer | seats | |
|---|---|---|---|
| 439 | N206UA | BOEING | 400 |
| 484 | N228UA | BOEING | 400 |
| 577 | N272AT | BOEING | 400 |
| 1427 | N507AY | AIRBUS | 379 |
| 1432 | N508AY | AIRBUS | 379 |
| ... | ... | ... | ... |
| 2804 | N862DA | BOEING | 400 |
| 2806 | N863DA | BOEING | 400 |
| 2809 | N865DA | BOEING | 400 |
| 2919 | N903JB | AIRBUS | 379 |
| 2982 | N913JB | AIRBUS | 379 |
65 rows × 3 columns
pd.read_sql_query("""
SELECT manufacturer,count(*) FROM planes
WHERE seats>200
GROUP BY manufacturer
""",conn)
| manufacturer | count(*) | |
|---|---|---|
| 0 | AIRBUS | 66 |
| 1 | AIRBUS INDUSTRIE | 4 |
| 2 | BOEING | 225 |
x = planes[planes.seats>200]
x.groupby("manufacturer").size()
manufacturer AIRBUS 66 AIRBUS INDUSTRIE 4 BOEING 225 dtype: int64
pd.read_sql_query("""
SELECT manufacturer, count(*) FROM planes
WHERE seats>200
GROUP BY manufacturer
HAVING count(*)>10
""",conn)
| manufacturer | count(*) | |
|---|---|---|
| 0 | AIRBUS | 66 |
| 1 | BOEING | 225 |
x = planes[planes.seats>200].manufacturer.value_counts()
x[x>10]
BOEING 225 AIRBUS 66 Name: manufacturer, dtype: int64
pd.read_sql_query("""
SELECT manufacturer, count(*) FROM planes
GROUP BY manufacturer
ORDER BY count(*) DESC
LIMIT 5
""",conn)
| manufacturer | count(*) | |
|---|---|---|
| 0 | BOEING | 1630 |
| 1 | AIRBUS INDUSTRIE | 400 |
| 2 | BOMBARDIER INC | 368 |
| 3 | AIRBUS | 336 |
| 4 | EMBRAER | 299 |
planes.manufacturer.value_counts().sort_values(ascending = False).head(7)
BOEING 1630 AIRBUS INDUSTRIE 400 BOMBARDIER INC 368 AIRBUS 336 EMBRAER 299 MCDONNELL DOUGLAS 120 MCDONNELL DOUGLAS AIRCRAFT CO 103 Name: manufacturer, dtype: int64
pd.read_sql_query("""
SELECT tailnum, year, seats from planes
WHERE year < 1970
ORDER by year, seats ASC
limit 10
""",conn)
| tailnum | year | seats | |
|---|---|---|---|
| 0 | N381AA | 1956.0 | 102 |
| 1 | N201AA | 1959.0 | 2 |
| 2 | N567AA | 1959.0 | 16 |
| 3 | N378AA | 1963.0 | 4 |
| 4 | N575AA | 1963.0 | 6 |
| 5 | N14629 | 1965.0 | 149 |
| 6 | N615AA | 1967.0 | 9 |
| 7 | N425AA | 1968.0 | 4 |
planes.loc[planes.year<1970,["tailnum","year","seats"]].sort_values(["year","seats"])
| tailnum | year | seats | |
|---|---|---|---|
| 1037 | N381AA | 1956.0 | 102 |
| 424 | N201AA | 1959.0 | 2 |
| 1694 | N567AA | 1959.0 | 16 |
| 1027 | N378AA | 1963.0 | 4 |
| 1725 | N575AA | 1963.0 | 6 |
| 191 | N14629 | 1965.0 | 149 |
| 1867 | N615AA | 1967.0 | 9 |
| 1190 | N425AA | 1968.0 | 4 |
A = planes.iloc[planes.year.values<1960, 0:4].reset_index(drop=True)
B = planes.iloc[(planes.year.values>=1959) & (planes.year.values <= 1963), 0:4].reset_index(drop=True)
A.to_sql("A", conn)
3
A
| Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|
| 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 1038 | N381AA | 1956.0 | Fixed wing multi engine |
| 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
B.to_sql("B",conn)
B
| Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|
| 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 1028 | N378AA | 1963.0 | Fixed wing single engine |
| 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
| 3 | 1726 | N575AA | 1963.0 | Fixed wing single engine |
pd.read_sql_query("""
SELECT * FROM A UNION ALL SELECT * FROM B
""",conn)
| index | Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|---|
| 0 | 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 1 | 1038 | N381AA | 1956.0 | Fixed wing multi engine |
| 2 | 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
| 3 | 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 4 | 1 | 1028 | N378AA | 1963.0 | Fixed wing single engine |
| 5 | 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
| 6 | 3 | 1726 | N575AA | 1963.0 | Fixed wing single engine |
pd.concat([A,B]) #A.append(B)
| Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|
| 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 1038 | N381AA | 1956.0 | Fixed wing multi engine |
| 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
| 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 1028 | N378AA | 1963.0 | Fixed wing single engine |
| 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
| 3 | 1726 | N575AA | 1963.0 | Fixed wing single engine |
pd.read_sql_query("""
SELECT * FROM A UNION SELECT * FROM B""",conn)
| index | Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|---|
| 0 | 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 1 | 1028 | N378AA | 1963.0 | Fixed wing single engine |
| 2 | 1 | 1038 | N381AA | 1956.0 | Fixed wing multi engine |
| 3 | 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
| 4 | 3 | 1726 | N575AA | 1963.0 | Fixed wing single engine |
pd.concat([A,B]).drop_duplicates()
| Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|
| 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 1038 | N381AA | 1956.0 | Fixed wing multi engine |
| 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
| 1 | 1028 | N378AA | 1963.0 | Fixed wing single engine |
| 3 | 1726 | N575AA | 1963.0 | Fixed wing single engine |
pd.read_sql_query("""
SELECT * FROM A INTERSECT SELECT * FROM B""", conn)
| index | Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|---|
| 0 | 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 1 | 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
A[A.tailnum.isin(B.tailnum)]
| Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|
| 0 | 425 | N201AA | 1959.0 | Fixed wing single engine |
| 2 | 1695 | N567AA | 1959.0 | Fixed wing single engine |
A[A.isin(B)].dropna()
| Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|
| 0 | 425.0 | N201AA | 1959.0 | Fixed wing single engine |
| 2 | 1695.0 | N567AA | 1959.0 | Fixed wing single engine |
pd.read_sql_query("""
SELECT * FROM A EXCEPT SELECT * FROM B
""", conn)
| index | Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|---|
| 0 | 1 | 1038 | N381AA | 1956.0 | Fixed wing multi engine |
A[~A.tailnum.isin(B.tailnum)]
| Unnamed: 0 | tailnum | year | type | |
|---|---|---|---|---|
| 1 | 1038 | N381AA | 1956.0 | Fixed wing multi engine |
A = pd.DataFrame({
"x": ["a0","a1","a2","a3"],
"y": ["b0","b1","b2","b3"]
})
B = pd.DataFrame({
"x": ["a0","a2","a2","a4"],
"z": ["c0","c1","c2","c3"]
})
A
| x | y | |
|---|---|---|
| 0 | a0 | b0 |
| 1 | a1 | b1 |
| 2 | a2 | b2 |
| 3 | a3 | b3 |
pd.merge(A, B, on="x", how="inner")
| x | y | z | |
|---|---|---|---|
| 0 | a0 | b0 | c0 |
| 1 | a2 | b2 | c1 |
| 2 | a2 | b2 | c2 |
pd.merge(A,B,on="x",how="left")
| x | y | z | |
|---|---|---|---|
| 0 | a0 | b0 | c0 |
| 1 | a1 | b1 | NaN |
| 2 | a2 | b2 | c1 |
| 3 | a2 | b2 | c2 |
| 4 | a3 | b3 | NaN |
pd.merge(A,B,on="x",how="right")
| x | y | z | |
|---|---|---|---|
| 0 | a0 | b0 | c0 |
| 1 | a2 | b2 | c1 |
| 2 | a2 | b2 | c2 |
| 3 | a4 | NaN | c3 |
pd.merge(A,B,on="x",how="outer")
| x | y | z | |
|---|---|---|---|
| 0 | a0 | b0 | c0 |
| 1 | a1 | b1 | NaN |
| 2 | a2 | b2 | c1 |
| 3 | a2 | b2 | c2 |
| 4 | a3 | b3 | NaN |
| 5 | a4 | NaN | c3 |
conn.close()
conn
<sqlite3.Connection at 0x186c6ce4e40>
pd.read_sql_query(
"""SELECT * FROM planes""",conn)
| index | Unnamed: 0 | tailnum | year | type | manufacturer | model | engines | seats | speed | engine | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | N10156 | 2004.0 | Fixed wing multi engine | EMBRAER | EMB-145XR | 2 | 55 | NaN | Turbo-fan |
| 1 | 1 | 2 | N102UW | 1998.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | NaN | Turbo-fan |
| 2 | 2 | 3 | N103US | 1999.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | NaN | Turbo-fan |
| 3 | 3 | 4 | N104UW | 1999.0 | Fixed wing multi engine | AIRBUS INDUSTRIE | A320-214 | 2 | 182 | NaN | Turbo-fan |
| 4 | 4 | 5 | N10575 | 2002.0 | Fixed wing multi engine | EMBRAER | EMB-145LR | 2 | 55 | NaN | Turbo-fan |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 3317 | 3317 | 3318 | N997AT | 2002.0 | Fixed wing multi engine | BOEING | 717-200 | 2 | 100 | NaN | Turbo-fan |
| 3318 | 3318 | 3319 | N997DL | 1992.0 | Fixed wing multi engine | MCDONNELL DOUGLAS AIRCRAFT CO | MD-88 | 2 | 142 | NaN | Turbo-fan |
| 3319 | 3319 | 3320 | N998AT | 2002.0 | Fixed wing multi engine | BOEING | 717-200 | 2 | 100 | NaN | Turbo-fan |
| 3320 | 3320 | 3321 | N998DL | 1992.0 | Fixed wing multi engine | MCDONNELL DOUGLAS CORPORATION | MD-88 | 2 | 142 | NaN | Turbo-jet |
| 3321 | 3321 | 3322 | N999DN | 1992.0 | Fixed wing multi engine | MCDONNELL DOUGLAS CORPORATION | MD-88 | 2 | 142 | NaN | Turbo-jet |
3322 rows × 11 columns
pd.read_sql_query(
"""SELECT * FROM flights""",conn)
| index | Unnamed: 0 | year | month | day | dep_time | dep_delay | arr_time | arr_delay | carrier | tailnum | flight | origin | dest | air_time | distance | hour | minute | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 2013 | 1 | 1 | 517.0 | 2.0 | 830.0 | 11.0 | UA | N14228 | 1545 | EWR | IAH | 227.0 | 1400 | 5.0 | 17.0 |
| 1 | 1 | 2 | 2013 | 1 | 1 | 533.0 | 4.0 | 850.0 | 20.0 | UA | N24211 | 1714 | LGA | IAH | 227.0 | 1416 | 5.0 | 33.0 |
| 2 | 2 | 3 | 2013 | 1 | 1 | 542.0 | 2.0 | 923.0 | 33.0 | AA | N619AA | 1141 | JFK | MIA | 160.0 | 1089 | 5.0 | 42.0 |
| 3 | 3 | 4 | 2013 | 1 | 1 | 544.0 | -1.0 | 1004.0 | -18.0 | B6 | N804JB | 725 | JFK | BQN | 183.0 | 1576 | 5.0 | 44.0 |
| 4 | 4 | 5 | 2013 | 1 | 1 | 554.0 | -6.0 | 812.0 | -25.0 | DL | N668DN | 461 | LGA | ATL | 116.0 | 762 | 5.0 | 54.0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 336771 | 336771 | 336772 | 2013 | 9 | 30 | NaN | NaN | NaN | NaN | 9E | None | 3393 | JFK | DCA | NaN | 213 | NaN | NaN |
| 336772 | 336772 | 336773 | 2013 | 9 | 30 | NaN | NaN | NaN | NaN | 9E | None | 3525 | LGA | SYR | NaN | 198 | NaN | NaN |
| 336773 | 336773 | 336774 | 2013 | 9 | 30 | NaN | NaN | NaN | NaN | MQ | N535MQ | 3461 | LGA | BNA | NaN | 764 | NaN | NaN |
| 336774 | 336774 | 336775 | 2013 | 9 | 30 | NaN | NaN | NaN | NaN | MQ | N511MQ | 3572 | LGA | CLE | NaN | 419 | NaN | NaN |
| 336775 | 336775 | 336776 | 2013 | 9 | 30 | NaN | NaN | NaN | NaN | MQ | N839MQ | 3531 | LGA | RDU | NaN | 431 | NaN | NaN |
336776 rows × 18 columns
pd.merge(flights,planes, on="tailnum",how="inner").loc[:,["tailnum","flight","type"]]
| tailnum | flight | type | |
|---|---|---|---|
| 0 | N14228 | 1545 | Fixed wing multi engine |
| 1 | N14228 | 1579 | Fixed wing multi engine |
| 2 | N14228 | 1142 | Fixed wing multi engine |
| 3 | N14228 | 1707 | Fixed wing multi engine |
| 4 | N14228 | 1572 | Fixed wing multi engine |
| ... | ... | ... | ... |
| 284165 | N766SK | 5568 | Fixed wing multi engine |
| 284166 | N772SK | 5568 | Fixed wing multi engine |
| 284167 | N776SK | 5568 | Fixed wing multi engine |
| 284168 | N785SK | 5568 | Fixed wing multi engine |
| 284169 | N557AS | 15 | Fixed wing multi engine |
284170 rows × 3 columns
pd.read_sql_query(
"""SELECT * FROM airports""",conn)
| index | Unnamed: 0 | faa | name | lat | lon | alt | tz | dst | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 04G | Lansdowne Airport | 41.130472 | -80.619583 | 1044 | -5 | A |
| 1 | 1 | 2 | 06A | Moton Field Municipal Airport | 32.460572 | -85.680028 | 264 | -5 | A |
| 2 | 2 | 3 | 06C | Schaumburg Regional | 41.989341 | -88.101243 | 801 | -6 | A |
| 3 | 3 | 4 | 06N | Randall Airport | 41.431912 | -74.391561 | 523 | -5 | A |
| 4 | 4 | 5 | 09J | Jekyll Island Airport | 31.074472 | -81.427778 | 11 | -4 | A |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 1392 | 1392 | 1393 | ZUN | Black Rock | 35.083228 | -108.791778 | 6454 | -7 | A |
| 1393 | 1393 | 1394 | ZVE | New Haven Rail Station | 41.298669 | -72.925992 | 7 | -5 | A |
| 1394 | 1394 | 1395 | ZWI | Wilmington Amtrak Station | 39.736667 | -75.551667 | 0 | -5 | A |
| 1395 | 1395 | 1396 | ZWU | Washington Union Station | 38.897460 | -77.006430 | 76 | -5 | A |
| 1396 | 1396 | 1397 | ZYP | Penn Station | 40.750500 | -73.993500 | 35 | -5 | A |
1397 rows × 9 columns
pd.read_sql_query(
"""SELECT * FROM weather
LIMIT 20""",conn)
| index | Unnamed: 0 | origin | year | month | day | hour | temp | dewp | humid | wind_dir | wind_speed | wind_gust | precip | pressure | visib | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | EWR | 2013 | 1.0 | 1.0 | 0.0 | 37.04 | 21.92 | 53.97 | 230.0 | 10.35702 | 11.918651 | 0.0 | 1013.9 | 10.0 |
| 1 | 1 | 2 | EWR | 2013 | 1.0 | 1.0 | 1.0 | 37.04 | 21.92 | 53.97 | 230.0 | 13.80936 | 15.891535 | 0.0 | 1013.0 | 10.0 |
| 2 | 2 | 3 | EWR | 2013 | 1.0 | 1.0 | 2.0 | 37.94 | 21.92 | 52.09 | 230.0 | 12.65858 | 14.567241 | 0.0 | 1012.6 | 10.0 |
| 3 | 3 | 4 | EWR | 2013 | 1.0 | 1.0 | 3.0 | 37.94 | 23.00 | 54.51 | 230.0 | 13.80936 | 15.891535 | 0.0 | 1012.7 | 10.0 |
| 4 | 4 | 5 | EWR | 2013 | 1.0 | 1.0 | 4.0 | 37.94 | 24.08 | 57.04 | 240.0 | 14.96014 | 17.215830 | 0.0 | 1012.8 | 10.0 |
| 5 | 5 | 6 | EWR | 2013 | 1.0 | 1.0 | 6.0 | 39.02 | 26.06 | 59.37 | 270.0 | 10.35702 | 11.918651 | 0.0 | 1012.0 | 10.0 |
| 6 | 6 | 7 | EWR | 2013 | 1.0 | 1.0 | 7.0 | 39.02 | 26.96 | 61.63 | 250.0 | 8.05546 | 9.270062 | 0.0 | 1012.3 | 10.0 |
| 7 | 7 | 8 | EWR | 2013 | 1.0 | 1.0 | 8.0 | 39.02 | 28.04 | 64.43 | 240.0 | 11.50780 | 13.242946 | 0.0 | 1012.5 | 10.0 |
| 8 | 8 | 9 | EWR | 2013 | 1.0 | 1.0 | 9.0 | 39.92 | 28.04 | 62.21 | 250.0 | 12.65858 | 14.567241 | 0.0 | 1012.2 | 10.0 |
| 9 | 9 | 10 | EWR | 2013 | 1.0 | 1.0 | 10.0 | 39.02 | 28.04 | 64.43 | 260.0 | 12.65858 | 14.567241 | 0.0 | 1011.9 | 10.0 |
| 10 | 10 | 11 | EWR | 2013 | 1.0 | 1.0 | 11.0 | 37.94 | 28.04 | 67.21 | 240.0 | 11.50780 | 13.242946 | 0.0 | 1012.4 | 10.0 |
| 11 | 11 | 12 | EWR | 2013 | 1.0 | 1.0 | 12.0 | 39.02 | 28.04 | 64.43 | 240.0 | 14.96014 | 17.215830 | 0.0 | 1012.2 | 10.0 |
| 12 | 12 | 13 | EWR | 2013 | 1.0 | 1.0 | 13.0 | 39.92 | 28.04 | 62.21 | 250.0 | 10.35702 | 11.918651 | 0.0 | 1012.2 | 10.0 |
| 13 | 13 | 14 | EWR | 2013 | 1.0 | 1.0 | 14.0 | 39.92 | 28.04 | 62.21 | 260.0 | 14.96014 | 17.215830 | 0.0 | 1012.7 | 10.0 |
| 14 | 14 | 15 | EWR | 2013 | 1.0 | 1.0 | 15.0 | 41.00 | 28.04 | 59.65 | 260.0 | 13.80936 | 15.891535 | 0.0 | 1012.4 | 10.0 |
| 15 | 15 | 16 | EWR | 2013 | 1.0 | 1.0 | 16.0 | 41.00 | 26.96 | 57.06 | 260.0 | 14.96014 | 17.215830 | 0.0 | 1011.4 | 10.0 |
| 16 | 16 | 17 | EWR | 2013 | 1.0 | 1.0 | 17.0 | 39.20 | 28.40 | 64.93 | 270.0 | 16.11092 | 18.540125 | 0.0 | NaN | 10.0 |
| 17 | 17 | 18 | EWR | 2013 | 1.0 | 1.0 | 18.0 | 39.20 | 28.40 | 64.93 | 330.0 | 14.96014 | 17.215830 | 0.0 | NaN | 10.0 |
| 18 | 18 | 19 | EWR | 2013 | 1.0 | 1.0 | 19.0 | 39.02 | 24.08 | 54.68 | 280.0 | 13.80936 | 15.891535 | 0.0 | 1010.8 | 10.0 |
| 19 | 19 | 20 | EWR | 2013 | 1.0 | 1.0 | 20.0 | 37.94 | 24.08 | 57.04 | 290.0 | 9.20624 | 10.594357 | 0.0 | 1011.9 | 10.0 |
pd.merge(flights,weather,on=["year","month","day","hour"],how="inner").loc[:,["year","month","day","hour","temp","carrier"]]
| year | month | day | hour | temp | carrier | |
|---|---|---|---|---|---|---|
| 0 | 2013 | 1 | 1 | 6.0 | 39.02 | B6 |
| 1 | 2013 | 1 | 1 | 6.0 | 39.02 | MQ |
| 2 | 2013 | 1 | 1 | 6.0 | 39.02 | B6 |
| 3 | 2013 | 1 | 1 | 6.0 | 39.02 | DL |
| 4 | 2013 | 1 | 1 | 6.0 | 39.02 | MQ |
| ... | ... | ... | ... | ... | ... | ... |
| 327570 | 2013 | 9 | 30 | 22.0 | 68.00 | B6 |
| 327571 | 2013 | 9 | 30 | 22.0 | 68.00 | B6 |
| 327572 | 2013 | 9 | 30 | 22.0 | 68.00 | B6 |
| 327573 | 2013 | 9 | 30 | 23.0 | 66.02 | B6 |
| 327574 | 2013 | 9 | 30 | 23.0 | 66.02 | B6 |
327575 rows × 6 columns
#wizualizacja danych
import numpy as np
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
x = np.linspace(-10, 10, 10)
y = x**2
plt.plot(x,y)
plt.show()
z = np.linspace(-10, 10, 10)
plt.plot(x**2)
plt.show()
flights = sns.load_dataset("flights")
flights["passengers"].plot()
<AxesSubplot:>
plt.plot(flights["passengers"].index, flights["passengers"])
[<matplotlib.lines.Line2D at 0x16712a78940>]
flights
| year | month | passengers | |
|---|---|---|---|
| 0 | 1949 | Jan | 112 |
| 1 | 1949 | Feb | 118 |
| 2 | 1949 | Mar | 132 |
| 3 | 1949 | Apr | 129 |
| 4 | 1949 | May | 121 |
| ... | ... | ... | ... |
| 139 | 1960 | Aug | 606 |
| 140 | 1960 | Sep | 508 |
| 141 | 1960 | Oct | 461 |
| 142 | 1960 | Nov | 390 |
| 143 | 1960 | Dec | 432 |
144 rows × 3 columns
flights["passengers"].groupby(flights["year"]).agg(np.mean).plot()
plt.show()
iris = sns.load_dataset("iris")
plt.scatter(iris.sepal_length, iris.sepal_width)
plt.show()
iris.plot(x="sepal_length", y="sepal_width",kind="scatter")
<AxesSubplot:xlabel='sepal_length', ylabel='sepal_width'>
t = np.linspace(0, 2*np.pi, 100, endpoint=False)
x = 16*np.sin(t)**3
y = 13*np.cos(t) - 5*np.cos(2*t) - 2*np.cos(3*t) - np.cos(4*t)
plt.fill(x, y, fill=False, hatch="*", color="red")
plt.text(-10,-14,"PYTHON1",fontsize=14, color="red")
plt.text(3,-14,"PYTHON2",fontsize=14, color="red")
plt.show()
x = np.linspace(-10,10,10)
y = np.sin(x)
plt.plot(x,y,linestyle="--", marker="s",color="c")
plt.fill(x,y,color=(0.9,1.0,0.1), alpha=0.4)
[<matplotlib.patches.Polygon at 0x1a4d6b6e1f0>]
barwy = list(matplotlib.colors.cnames.items())
barwy
[('aliceblue', '#F0F8FF'),
('antiquewhite', '#FAEBD7'),
('aqua', '#00FFFF'),
('aquamarine', '#7FFFD4'),
('azure', '#F0FFFF'),
('beige', '#F5F5DC'),
('bisque', '#FFE4C4'),
('black', '#000000'),
('blanchedalmond', '#FFEBCD'),
('blue', '#0000FF'),
('blueviolet', '#8A2BE2'),
('brown', '#A52A2A'),
('burlywood', '#DEB887'),
('cadetblue', '#5F9EA0'),
('chartreuse', '#7FFF00'),
('chocolate', '#D2691E'),
('coral', '#FF7F50'),
('cornflowerblue', '#6495ED'),
('cornsilk', '#FFF8DC'),
('crimson', '#DC143C'),
('cyan', '#00FFFF'),
('darkblue', '#00008B'),
('darkcyan', '#008B8B'),
('darkgoldenrod', '#B8860B'),
('darkgray', '#A9A9A9'),
('darkgreen', '#006400'),
('darkgrey', '#A9A9A9'),
('darkkhaki', '#BDB76B'),
('darkmagenta', '#8B008B'),
('darkolivegreen', '#556B2F'),
('darkorange', '#FF8C00'),
('darkorchid', '#9932CC'),
('darkred', '#8B0000'),
('darksalmon', '#E9967A'),
('darkseagreen', '#8FBC8F'),
('darkslateblue', '#483D8B'),
('darkslategray', '#2F4F4F'),
('darkslategrey', '#2F4F4F'),
('darkturquoise', '#00CED1'),
('darkviolet', '#9400D3'),
('deeppink', '#FF1493'),
('deepskyblue', '#00BFFF'),
('dimgray', '#696969'),
('dimgrey', '#696969'),
('dodgerblue', '#1E90FF'),
('firebrick', '#B22222'),
('floralwhite', '#FFFAF0'),
('forestgreen', '#228B22'),
('fuchsia', '#FF00FF'),
('gainsboro', '#DCDCDC'),
('ghostwhite', '#F8F8FF'),
('gold', '#FFD700'),
('goldenrod', '#DAA520'),
('gray', '#808080'),
('green', '#008000'),
('greenyellow', '#ADFF2F'),
('grey', '#808080'),
('honeydew', '#F0FFF0'),
('hotpink', '#FF69B4'),
('indianred', '#CD5C5C'),
('indigo', '#4B0082'),
('ivory', '#FFFFF0'),
('khaki', '#F0E68C'),
('lavender', '#E6E6FA'),
('lavenderblush', '#FFF0F5'),
('lawngreen', '#7CFC00'),
('lemonchiffon', '#FFFACD'),
('lightblue', '#ADD8E6'),
('lightcoral', '#F08080'),
('lightcyan', '#E0FFFF'),
('lightgoldenrodyellow', '#FAFAD2'),
('lightgray', '#D3D3D3'),
('lightgreen', '#90EE90'),
('lightgrey', '#D3D3D3'),
('lightpink', '#FFB6C1'),
('lightsalmon', '#FFA07A'),
('lightseagreen', '#20B2AA'),
('lightskyblue', '#87CEFA'),
('lightslategray', '#778899'),
('lightslategrey', '#778899'),
('lightsteelblue', '#B0C4DE'),
('lightyellow', '#FFFFE0'),
('lime', '#00FF00'),
('limegreen', '#32CD32'),
('linen', '#FAF0E6'),
('magenta', '#FF00FF'),
('maroon', '#800000'),
('mediumaquamarine', '#66CDAA'),
('mediumblue', '#0000CD'),
('mediumorchid', '#BA55D3'),
('mediumpurple', '#9370DB'),
('mediumseagreen', '#3CB371'),
('mediumslateblue', '#7B68EE'),
('mediumspringgreen', '#00FA9A'),
('mediumturquoise', '#48D1CC'),
('mediumvioletred', '#C71585'),
('midnightblue', '#191970'),
('mintcream', '#F5FFFA'),
('mistyrose', '#FFE4E1'),
('moccasin', '#FFE4B5'),
('navajowhite', '#FFDEAD'),
('navy', '#000080'),
('oldlace', '#FDF5E6'),
('olive', '#808000'),
('olivedrab', '#6B8E23'),
('orange', '#FFA500'),
('orangered', '#FF4500'),
('orchid', '#DA70D6'),
('palegoldenrod', '#EEE8AA'),
('palegreen', '#98FB98'),
('paleturquoise', '#AFEEEE'),
('palevioletred', '#DB7093'),
('papayawhip', '#FFEFD5'),
('peachpuff', '#FFDAB9'),
('peru', '#CD853F'),
('pink', '#FFC0CB'),
('plum', '#DDA0DD'),
('powderblue', '#B0E0E6'),
('purple', '#800080'),
('rebeccapurple', '#663399'),
('red', '#FF0000'),
('rosybrown', '#BC8F8F'),
('royalblue', '#4169E1'),
('saddlebrown', '#8B4513'),
('salmon', '#FA8072'),
('sandybrown', '#F4A460'),
('seagreen', '#2E8B57'),
('seashell', '#FFF5EE'),
('sienna', '#A0522D'),
('silver', '#C0C0C0'),
('skyblue', '#87CEEB'),
('slateblue', '#6A5ACD'),
('slategray', '#708090'),
('slategrey', '#708090'),
('snow', '#FFFAFA'),
('springgreen', '#00FF7F'),
('steelblue', '#4682B4'),
('tan', '#D2B48C'),
('teal', '#008080'),
('thistle', '#D8BFD8'),
('tomato', '#FF6347'),
('turquoise', '#40E0D0'),
('violet', '#EE82EE'),
('wheat', '#F5DEB3'),
('white', '#FFFFFF'),
('whitesmoke', '#F5F5F5'),
('yellow', '#FFFF00'),
('yellowgreen', '#9ACD32')]
u = np.r_[-5:5:10j]
plt.plot(u, u**2, "m.--")
plt.axis([-6,6,0,30]) #plt.axis("off") lub "equal"
plt.show()
t = np.linspace(0,2*np.pi,100,endpoint=False)
plt.fill(np.cos(t),np.sin(t),color="darkred",alpha=0.5, linewidth=3,facecolor=(1,0,0,0.1))
plt.axis("equal")
plt.plot(0,1,"o",color="darkred")
plt.text(0,1,"(0,1)",verticalalignment="top")
plt.xticks([-1,-0.2],["a","b"])
plt.yticks([0.4])
([<matplotlib.axis.YTick at 0x1a4d6c5d280>], [Text(0, 0, '')])
theta = np.linspace(0,np.pi*2, 100)
y = 3+2*np.sin(theta)
x = 3+2*np.cos(theta)
plt.plot(x,y,"k")
x1=np.array([0,0,1,1])
y1=np.array([0,1,1,0])
plt.fill(x1,y1,color="red")
x2=np.linspace(-2*np.pi,0,50)
y2=np.sin(x2)+7
plt.plot(x2,y2,color="blue")
x3=np.linspace(-8,-2,10)
y3=np.random.normal(3,1,10)
plt.scatter(x3,y3,color="orange")
plt.text(-6,0,"hahaha!!!111")
Text(-6, 0, 'hahaha!!!111')
np.random.normal(3,1,10)
array([1.63709894, 4.16064322, 2.60269909, 3.51584653, 2.626155 ,
0.8604721 , 2.93832312, 3.48464965, 4.31743667, 1.57751357])
np.random.seed(123)
x = np.arange(100)
y1 = np.random.normal(0,1,100).cumsum()
y2 = np.random.normal(0,1,100).cumsum()
plt.plot(x,np.c_[y1,y2])
[<matplotlib.lines.Line2D at 0x1a4d97bfc10>, <matplotlib.lines.Line2D at 0x1a4d97bfc70>]
np.random.seed(123)
x = np.arange(100)
y1 = np.random.normal(0,1,100).cumsum()
y2 = np.random.normal(0,1,100).cumsum()
plt.plot(x, y1, "k-", x, y2, "k--")
[<matplotlib.lines.Line2D at 0x1a4d982c610>, <matplotlib.lines.Line2D at 0x1a4d982c730>]
x = np.linspace(0,np.pi,25)
plt.plot(x,np.sin(x), "k-", label="sin")
plt.plot(x,np.cos(x), "rv-.", label="cos")
plt.axis("equal")
plt.legend(loc="lower left")
plt.show()
plt.subplot(2,1,1)
x=np.linspace(0,2*np.pi,20)
plt.plot(x,np.sin(x), "r.-", label="sin(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.subplot(2,1,2)
plt.plot(x,np.cos(x), "bH:", label="cos(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.show()
plt.subplot2grid((3,4),(0,0), colspan=4)
x=np.linspace(0,2*np.pi,20)
plt.plot(x,np.sin(x), "r.-", label="sin(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.subplot2grid((3,4),(1,0), rowspan=2, colspan=2)
plt.plot(x,np.cos(x), "bH:", label="cos(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.subplot2grid((3,4),(1,2), colspan=2)
plt.plot(x,np.sin(x), "k-", label="sin(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.subplot2grid((3,4),(2,2))
plt.plot(x,np.tan(x)+1, "mh--", label="tan(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
plt.subplot2grid((3,4),(2,3))
plt.plot(x,np.tan(x), "yx-", label="tan(x)")
plt.xticks([0,1.67,3.14,4.81,6.28],["0","pi/2","pi","3pi/2","2pi"])
plt.legend(loc="best")
<matplotlib.legend.Legend at 0x1a4d9f85ac0>
p=[0.31,0.31,0.15,0.10,0.09,0.05]
e=["PO","PiS","Polska2050","Konfa","Lewica","PSL"]
x=np.arange(len(p)) s=0.75 plt.bar(x-(s/10), p, s, color=[(0.3,0.2,0.7),"orange",(0,0,0.3),"yellow","red","green"]) plt.xticks(x, e, rotation=17) plt.yticks([0.1,0.2,0.3,0.4],["10%","20%","30%","40%"]) plt.title("Sondaż KANTAR PUBLIC") plt.text(1,0.4,"35%")
x=np.arange(len(p))
s=0.75
plt.bar(x-(s/10), p, s, color=["orange",(0.3,0.2,0.7),"yellow",(0,0,0.3),"red","green"])
plt.xticks(x, e, rotation=17)
plt.yticks([0.1,0.2,0.3,0.4],["10%","20%","30%","40%"])
plt.title("Sondaż KANTAR PUBLIC")
plt.text(0.7,0.33,"31%")
plt.text(1.75,0.17,"15%")
plt.text(-0.3,0.33,"31%")
plt.text(2.75,0.12,"10%")
plt.text(3.8,0.11,"9%")
plt.text(4.8,0.06,"5%")
Text(4.8, 0.06, '5%')
tips = sns.load_dataset("tips")
tips.smoker.value_counts().plot(kind="pie")
plt.show()
flights_pivot = flights.pivot("month","year","passengers")
sns.heatmap(flights_pivot, annot=True, fmt="d", linewidths=0.5)
<AxesSubplot:xlabel='year', ylabel='month'>
ax1=plt.subplot(121)
tips = sns.load_dataset("tips")
t = pd.crosstab(tips.day, tips.smoker)
t.plot(kind="barh", color=["red","blue"], ax=ax1)
ax1.yaxis.set_ticks_position("right")
plt.xlabel("liczba osób")
plt.subplot(122)
sumy = (t.iloc[:,0]+t.iloc[:,1])
(sumy/sumy).plot(kind="barh", color="lightgreen")
(t.iloc[:,0]/sumy).plot(kind="barh", color="green")
plt.xticks(np.r_[0:1:5j],["0%","25%","50%","75%","100%"])
plt.xlabel("frakcja")
plt.show()
tips["tip_frac"] = tips["tip"]/tips["total_bill"]
sns.boxplot(tips["tip_frac"])
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation. warnings.warn(
<AxesSubplot:xlabel='tip_frac'>
sns.boxplot(tips["tip_frac"],tips["day"],tips["sex"],palette=["0.95","0.65"])
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y, hue. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation. warnings.warn(
<AxesSubplot:xlabel='tip_frac', ylabel='day'>
tips.hist(column="tip_frac", by="sex",facecolor="0.6", sharex=True, bins=int(np.min(np.ceil(np.log2(tips.sex.value_counts())+1))))
plt.show()
tips.hist(column="tip_frac", by="sex",facecolor="0.6", sharex=True)
plt.show()
plt.subplot(121)
ax1 = sns.distplot(tips.tip_frac[tips.sex=="Male"], vertical = True)
plt.setp(ax1.get_yticklabels(), visible = False)
plt.xlim(plt.xlim()[::-1])
plt.title("Male")
plt.subplot(122, sharey=ax1)
ax2 = sns.distplot(tips.tip_frac[tips.sex == "Female"], vertical=True, axlabel=False)
plt.title("Female")
plt.show()
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms). warnings.warn(msg, FutureWarning) C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:1689: FutureWarning: The `vertical` parameter is deprecated and will be removed in a future version. Assign the data to the `y` variable instead. warnings.warn(msg, FutureWarning) C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms). warnings.warn(msg, FutureWarning) C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\seaborn\distributions.py:1689: FutureWarning: The `vertical` parameter is deprecated and will be removed in a future version. Assign the data to the `y` variable instead. warnings.warn(msg, FutureWarning)
sns.pairplot(iris, diag_kind="kde", vars=["sepal_length", "sepal_width", "petal_length"])
plt.show()
iris
| sepal_length | sepal_width | petal_length | petal_width | species | |
|---|---|---|---|---|---|
| 0 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
| 1 | 4.9 | 3.0 | 1.4 | 0.2 | setosa |
| 2 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
| 3 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
| 4 | 5.0 | 3.6 | 1.4 | 0.2 | setosa |
| ... | ... | ... | ... | ... | ... |
| 145 | 6.7 | 3.0 | 5.2 | 2.3 | virginica |
| 146 | 6.3 | 2.5 | 5.0 | 1.9 | virginica |
| 147 | 6.5 | 3.0 | 5.2 | 2.0 | virginica |
| 148 | 6.2 | 3.4 | 5.4 | 2.3 | virginica |
| 149 | 5.9 | 3.0 | 5.1 | 1.8 | virginica |
150 rows × 5 columns
y = x = np.linspace(-5,5,250)
X, Y = np.meshgrid(x,y)
Z = X**2 + Y**2 + 10*np.sin(X)
plt.subplot(121)
CS = plt.contour(X, Y, Z, cmap="gray")
plt.clabel(CS, inline = 1, fontsize = 10)
plt.title("contour")
plt.subplot(122)
CS = plt.contourf(X,Y,Z,cmap="gray")
plt.colorbar(CS,shrink=0.9, extend="both")
plt.title("contourf")
plt.show()
import mpl_toolkits.mplot3d as m3d
fig = plt.figure()
sns.set(rc={"axes.facecolor":"white", "figure.facecolor":"white"})
ax = m3d.Axes3D(fig,azim=80,elev=10)
ax.plot_surface(X,Y,Z,cmap="gray",
linewidth=0, edgecolor="none")
sns.set()
plt.show()
plt.figure(figsize=(3,3))
plt.savefig("rysunek_testowy_python.jpeg")
C:\Users\igors\AppData\Local\Temp/ipykernel_13172/3851932836.py:5: MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6. This is consistent with other Axes classes. ax = m3d.Axes3D(fig,azim=80,elev=10)
<Figure size 216x216 with 0 Axes>
import scipy
import scipy.stats as stats
import numpy as np
import statsmodels
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
stats.norm.cdf(0)
0.5
stats.norm.pdf([0,1,2], loc=1, scale=2)
array([0.17603266, 0.19947114, 0.17603266])
help(stats.norm.pdf)
Help on method pdf in module scipy.stats._distn_infrastructure:
pdf(x, *args, **kwds) method of scipy.stats._continuous_distns.norm_gen instance
Probability density function at x of the given RV.
Parameters
----------
x : array_like
quantiles
arg1, arg2, arg3,... : array_like
The shape parameter(s) for the distribution (see docstring of the
instance object for more information)
loc : array_like, optional
location parameter (default=0)
scale : array_like, optional
scale parameter (default=1)
Returns
-------
pdf : ndarray
Probability density function evaluated at x
x = np.linspace(-4,6,100)
plt.plot(x, stats.norm.pdf(x, scale=0.5), "k--")
plt.plot(x, stats.norm.pdf(x), "r-")
plt.plot(x, stats.norm.pdf(x, 2, 1), "b-.")
plt.show()
x = np.linspace(-4,6,100)
plt.plot(x, stats.norm.cdf(x, scale=0.5), "k--")
plt.plot(x, stats.norm.cdf(x), "r-")
plt.plot(x, stats.norm.cdf(x, 2, 1), "b-.")
plt.show()
stats.expon.mean(scale=0.5)
0.5
plt.plot(x, stats.expon.pdf(x, scale=0.5), "k--")
[<matplotlib.lines.Line2D at 0x288349c0400>]
e = stats.expon(scale=0.5)
e.mean()
0.5
e.median()
0.34657359027997264
e.ppf(0.25)
0.14384103622589045
e.ppf(0.75)
0.6931471805599453
e.var()
0.25
e.std()
0.5
e.stats(moments="s")
array(2.)
e.stats(moments="k")
array(6.)
stats.norm.cdf(4,loc=7,scale=1.5)
0.022750131948179195
1-stats.norm.cdf(5,loc=7,scale=1.5)
#albo z f. przeżycia: cdf -> sf
0.9087887802741321
stats.norm.cdf(6,loc=7,scale=1.5)-stats.norm.cdf(2,loc=7,scale=1.5)
0.2520634772137261
stats.norm.ppf(0.75,loc=7,scale=1.5)
8.011734625294123
b = stats.binom(n=11, p=0.5)
1-b.cdf(3)
0.88671875
1-np.sum(b.pmf(np.array([0,1,2,3])))
0.88671875
help(stats.binom)
Help on binom_gen in module scipy.stats._discrete_distns:
<scipy.stats._discrete_distns.binom_gen object>
A binomial discrete random variable.
As an instance of the `rv_discrete` class, `binom` object inherits from it
a collection of generic methods (see below for the full list),
and completes them with details specific for this particular distribution.
Methods
-------
rvs(n, p, loc=0, size=1, random_state=None)
Random variates.
pmf(k, n, p, loc=0)
Probability mass function.
logpmf(k, n, p, loc=0)
Log of the probability mass function.
cdf(k, n, p, loc=0)
Cumulative distribution function.
logcdf(k, n, p, loc=0)
Log of the cumulative distribution function.
sf(k, n, p, loc=0)
Survival function (also defined as ``1 - cdf``, but `sf` is sometimes more accurate).
logsf(k, n, p, loc=0)
Log of the survival function.
ppf(q, n, p, loc=0)
Percent point function (inverse of ``cdf`` --- percentiles).
isf(q, n, p, loc=0)
Inverse survival function (inverse of ``sf``).
stats(n, p, loc=0, moments='mv')
Mean('m'), variance('v'), skew('s'), and/or kurtosis('k').
entropy(n, p, loc=0)
(Differential) entropy of the RV.
expect(func, args=(n, p), loc=0, lb=None, ub=None, conditional=False)
Expected value of a function (of one argument) with respect to the distribution.
median(n, p, loc=0)
Median of the distribution.
mean(n, p, loc=0)
Mean of the distribution.
var(n, p, loc=0)
Variance of the distribution.
std(n, p, loc=0)
Standard deviation of the distribution.
interval(alpha, n, p, loc=0)
Endpoints of the range that contains fraction alpha [0, 1] of the
distribution
Notes
-----
The probability mass function for `binom` is:
.. math::
f(k) = \binom{n}{k} p^k (1-p)^{n-k}
for :math:`k \in \{0, 1, \dots, n\}`, :math:`0 \leq p \leq 1`
`binom` takes :math:`n` and :math:`p` as shape parameters,
where :math:`p` is the probability of a single success
and :math:`1-p` is the probability of a single failure.
The probability mass function above is defined in the "standardized" form.
To shift distribution use the ``loc`` parameter.
Specifically, ``binom.pmf(k, n, p, loc)`` is identically
equivalent to ``binom.pmf(k - loc, n, p)``.
Examples
--------
>>> from scipy.stats import binom
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1)
Calculate the first four moments:
>>> n, p = 5, 0.4
>>> mean, var, skew, kurt = binom.stats(n, p, moments='mvsk')
Display the probability mass function (``pmf``):
>>> x = np.arange(binom.ppf(0.01, n, p),
... binom.ppf(0.99, n, p))
>>> ax.plot(x, binom.pmf(x, n, p), 'bo', ms=8, label='binom pmf')
>>> ax.vlines(x, 0, binom.pmf(x, n, p), colors='b', lw=5, alpha=0.5)
Alternatively, the distribution object can be called (as a function)
to fix the shape and location. This returns a "frozen" RV object holding
the given parameters fixed.
Freeze the distribution and display the frozen ``pmf``:
>>> rv = binom(n, p)
>>> ax.vlines(x, 0, rv.pmf(x), colors='k', linestyles='-', lw=1,
... label='frozen pmf')
>>> ax.legend(loc='best', frameon=False)
>>> plt.show()
Check accuracy of ``cdf`` and ``ppf``:
>>> prob = binom.cdf(x, n, p)
>>> np.allclose(x, binom.ppf(prob, n, p))
True
Generate random numbers:
>>> r = binom.rvs(n, p, size=1000)
See Also
--------
hypergeom, nbinom, nhypergeom
r = stats.binom(n=3,p=0.25)
r.cdf(0)
0.42187500000000006
stats.cauchy.rvs(size=4)
array([-0.32006147, 0.65411616, -2.1756477 , 1.1249956 ])
stats.cauchy.rvs(loc=0,scale=5, size=(2,3))
array([[26.2159626 , -0.95976867, 6.53214708],
[-3.60134497, 8.41795922, -2.13412934]])
#graficznie reguła tzw pięciu procent
fn=stats.norm(loc=1, scale=1)
x=np.linspace(-4,6,100,endpoint=True)
plt.plot(x, fn.pdf(x), "k-", lw=2)
plt.axvline(fn.mean(), color="k")
plt.axvline(fn.mean()-2*fn.std(), color="k", ls="--")
plt.axvline(fn.mean()+2*fn.std(), color="k", ls="--")
z=np.linspace(fn.mean()-2*fn.std(), fn.mean()+2*fn.std(), 100)
plt.fill_between(z, 0, fn.pdf(z), color="0.7")
plt.show()
fn.pdf(z)
array([0.05399097, 0.05848724, 0.06325461, 0.06829898, 0.07362533,
0.07923761, 0.0851386 , 0.09132982, 0.09781147, 0.10458224,
0.11163931, 0.11897819, 0.12659268, 0.13447478, 0.14261464,
0.15100051, 0.15961869, 0.16845351, 0.17748736, 0.18670064,
0.19607183, 0.20557752, 0.21519246, 0.22488967, 0.23464051,
0.24441479, 0.25418095, 0.26390617, 0.27355653, 0.28309726,
0.29249286, 0.30170735, 0.31070449, 0.31944801, 0.32790184,
0.33603039, 0.34379874, 0.35117292, 0.35812016, 0.36460914,
0.37061018, 0.37609553, 0.38103951, 0.38541877, 0.38921247,
0.39240239, 0.39497314, 0.39691225, 0.39821028, 0.39886088,
0.39886088, 0.39821028, 0.39691225, 0.39497314, 0.39240239,
0.38921247, 0.38541877, 0.38103951, 0.37609553, 0.37061018,
0.36460914, 0.35812016, 0.35117292, 0.34379874, 0.33603039,
0.32790184, 0.31944801, 0.31070449, 0.30170735, 0.29249286,
0.28309726, 0.27355653, 0.26390617, 0.25418095, 0.24441479,
0.23464051, 0.22488967, 0.21519246, 0.20557752, 0.19607183,
0.18670064, 0.17748736, 0.16845351, 0.15961869, 0.15100051,
0.14261464, 0.13447478, 0.12659268, 0.11897819, 0.11163931,
0.10458224, 0.09781147, 0.09132982, 0.0851386 , 0.07923761,
0.07362533, 0.06829898, 0.06325461, 0.05848724, 0.05399097])
x = np.random.beta(1,2,500)
a, b, loc, scale = stats.beta.fit(x)
a, b
(0.8890470136732171, 1.751480199626478)
loc, scale
(0.0005957095583563519, 1.0116551697726832)
stats.beta.fit(x, floc=0, fscale=1)
(0.914808570344014, 1.8050115868787706, 0, 1)
#ciag 100 niezaleznych zmiennych osowych z r chi-kwadrat o df=3
x = np.random.chisquare(3,100)
f = lambda df: stats.chi2.nnlf(np.r_[df, 0, 1], x)
df0 = np.mean(x)
import scipy.optimize
scipy.optimize.minimize(f,df0)
fun: 227.00095375745906
hess_inv: array([[0.039264]])
jac: array([1.90734863e-06])
message: 'Optimization terminated successfully.'
nfev: 12
nit: 4
njev: 6
status: 0
success: True
x: array([2.8171581])
df0
3.350926181642391
def przufn_Bern_asympt(x, pozufn=0.95):
p = np.mean(x)
z = stats.norm.ppf(q=0.5*(1+pozufn))
d = np.sqrt(p*(1.0-p)/len(x))
return p + np.r_[-1.0, 1.0]*z*d
x = stats.bernoulli.rvs(p=0.3, size=100)
przufn_Bern_asympt(x)
array([0.26592173, 0.45407827])
x
array([1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0,
1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0,
0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
def przufn_norm(x, pozufn=0.95):
m = np.mean(x)
t = stats.t.ppf(q=0.5*(1+pozufn), df=len(x)-1)
d = x.std(ddof=1)/np.sqrt(len(x))
return m + np.r_[-1.0,1.0]*t*d
K = 100
n = 20
m = 0
s = 1
granice = np.empty((K,2))
for i in range(K):
x = np.random.normal(m, s, size=n)
granice[i,:] = przufn_norm(x)
ile = ((granice[:,0] <= m) & (m<=granice[:,1]))
ile.mean()
0.96
for i in range(K): plt.plot(granice[i,:], [i]*2, "k.-")
plt.axvline(0, color="k")
plt.yticks([])
plt.show()
tips = sns.load_dataset("tips")
tips.head()
| total_bill | tip | sex | smoker | day | time | size | |
|---|---|---|---|---|---|---|---|
| 0 | 16.99 | 1.01 | Female | No | Sun | Dinner | 2 |
| 1 | 10.34 | 1.66 | Male | No | Sun | Dinner | 3 |
| 2 | 21.01 | 3.50 | Male | No | Sun | Dinner | 3 |
| 3 | 23.68 | 3.31 | Male | No | Sun | Dinner | 2 |
| 4 | 24.59 | 3.61 | Female | No | Sun | Dinner | 4 |
tips["logtip"] = np.log(tips.tip)
m, s= stats.norm.fit(tips.logtip)
m, s
(1.0025376996300006, 0.4352662333177251)
plt.subplot(121)
plt.axis([-0.5,3,0,1])
ecdf = statsmodels.distributions.ECDF(tips.logtip)
plt.step(ecdf.x, ecdf.y, "k-")
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_14988/3409112195.py in <module> 1 plt.subplot(121) 2 plt.axis([-0.5,3,0,1]) ----> 3 ecdf = statsmodels.distributions.ECDF(tips.logtip) 4 plt.step(ecdf.x, ecdf.y, "k-") AttributeError: module 'statsmodels' has no attribute 'distributions'
stats.probplot(tips.logtip, dist=stats.norm, plot=plt)
((array([-2.7660794 , -2.46319801, -2.29114787, -2.16825434, -2.07137443,
-1.99075074, -1.9213089 , -1.86005848, -1.80508277, -1.75507658,
-1.70910939, -1.66649348, -1.62670558, -1.58933792, -1.55406631,
-1.52062855, -1.48880944, -1.45843008, -1.42934008, -1.40141172,
-1.37453559, -1.34861722, -1.32357442, -1.29933525, -1.27583633,
-1.25302156, -1.230841 , -1.20924999, -1.18820845, -1.16768023,
-1.14763264, -1.12803597, -1.10886319, -1.09008958, -1.07169252,
-1.0536512 , -1.03594646, -1.01856064, -1.00147737, -0.98468148,
-0.96815887, -0.95189643, -0.93588192, -0.9201039 , -0.90455168,
-0.88921522, -0.87408512, -0.85915251, -0.84440907, -0.82984693,
-0.81545867, -0.80123728, -0.78717613, -0.77326892, -0.75950968,
-0.74589275, -0.73241275, -0.71906453, -0.70584322, -0.69274417,
-0.67976291, -0.66689521, -0.65413699, -0.64148438, -0.62893363,
-0.61648119, -0.60412361, -0.59185761, -0.57968002, -0.56758779,
-0.555578 , -0.54364781, -0.5317945 , -0.52001544, -0.5083081 ,
-0.49667002, -0.48509883, -0.47359222, -0.46214799, -0.45076396,
-0.43943806, -0.42816824, -0.41695255, -0.40578907, -0.39467593,
-0.38361132, -0.37259348, -0.36162069, -0.35069126, -0.33980357,
-0.32895601, -0.31814702, -0.30737508, -0.29663869, -0.28593638,
-0.27526672, -0.26462831, -0.25401977, -0.24343974, -0.23288689,
-0.22235991, -0.21185751, -0.20137843, -0.19092142, -0.18048525,
-0.1700687 , -0.15967057, -0.14928967, -0.13892484, -0.12857491,
-0.11823873, -0.10791517, -0.09760311, -0.08730141, -0.07700896,
-0.06672467, -0.05644743, -0.04617615, -0.03590974, -0.02564712,
-0.01538719, -0.00512888, 0.00512888, 0.01538719, 0.02564712,
0.03590974, 0.04617615, 0.05644743, 0.06672467, 0.07700896,
0.08730141, 0.09760311, 0.10791517, 0.11823873, 0.12857491,
0.13892484, 0.14928967, 0.15967057, 0.1700687 , 0.18048525,
0.19092142, 0.20137843, 0.21185751, 0.22235991, 0.23288689,
0.24343974, 0.25401977, 0.26462831, 0.27526672, 0.28593638,
0.29663869, 0.30737508, 0.31814702, 0.32895601, 0.33980357,
0.35069126, 0.36162069, 0.37259348, 0.38361132, 0.39467593,
0.40578907, 0.41695255, 0.42816824, 0.43943806, 0.45076396,
0.46214799, 0.47359222, 0.48509883, 0.49667002, 0.5083081 ,
0.52001544, 0.5317945 , 0.54364781, 0.555578 , 0.56758779,
0.57968002, 0.59185761, 0.60412361, 0.61648119, 0.62893363,
0.64148438, 0.65413699, 0.66689521, 0.67976291, 0.69274417,
0.70584322, 0.71906453, 0.73241275, 0.74589275, 0.75950968,
0.77326892, 0.78717613, 0.80123728, 0.81545867, 0.82984693,
0.84440907, 0.85915251, 0.87408512, 0.88921522, 0.90455168,
0.9201039 , 0.93588192, 0.95189643, 0.96815887, 0.98468148,
1.00147737, 1.01856064, 1.03594646, 1.0536512 , 1.07169252,
1.09008958, 1.10886319, 1.12803597, 1.14763264, 1.16768023,
1.18820845, 1.20924999, 1.230841 , 1.25302156, 1.27583633,
1.29933525, 1.32357442, 1.34861722, 1.37453559, 1.40141172,
1.42934008, 1.45843008, 1.48880944, 1.52062855, 1.55406631,
1.58933792, 1.62670558, 1.66649348, 1.70910939, 1.75507658,
1.80508277, 1.86005848, 1.9213089 , 1.99075074, 2.07137443,
2.16825434, 2.29114787, 2.46319801, 2.7660794 ]),
array([0. , 0. , 0. , 0. , 0.00995033,
0.09531018, 0.15700375, 0.22314355, 0.22314355, 0.22314355,
0.27763174, 0.3074847 , 0.36464311, 0.36464311, 0.37156356,
0.3852624 , 0.39204209, 0.40546511, 0.40546511, 0.40546511,
0.40546511, 0.40546511, 0.40546511, 0.40546511, 0.40546511,
0.40546511, 0.44468582, 0.45107562, 0.45742485, 0.47623418,
0.48858001, 0.49469624, 0.5068176 , 0.51282363, 0.51879379,
0.53649337, 0.54812141, 0.55961579, 0.56531381, 0.58778666,
0.60431597, 0.65232519, 0.67294447, 0.67803354, 0.68309684,
0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
0.69314718, 0.69314718, 0.69314718, 0.69314718, 0.69314718,
0.69314718, 0.69314718, 0.69314718, 0.69813472, 0.69813472,
0.70309751, 0.70803579, 0.70803579, 0.71783979, 0.73716407,
0.77932488, 0.78845736, 0.78845736, 0.80200159, 0.80200159,
0.80647587, 0.80647587, 0.83290912, 0.83724752, 0.83724752,
0.85015093, 0.89608802, 0.90421815, 0.91629073, 0.91629073,
0.91629073, 0.91629073, 0.91629073, 0.91629073, 0.91629073,
0.91629073, 0.91629073, 0.91629073, 0.9242589 , 0.93216408,
0.93609336, 0.94000726, 0.95551145, 0.95935022, 0.97077892,
0.99694863, 1.00063188, 1.00795792, 1.01160091, 1.01160091,
1.04027671, 1.05779029, 1.07158362, 1.09861229, 1.09861229,
1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
1.09861229, 1.09861229, 1.09861229, 1.09861229, 1.09861229,
1.09861229, 1.10525683, 1.11841492, 1.12167756, 1.1249296 ,
1.12817109, 1.13462273, 1.137833 , 1.1442228 , 1.14740245,
1.15057203, 1.1568812 , 1.1568812 , 1.16627094, 1.17248214,
1.17248214, 1.178655 , 1.178655 , 1.18478998, 1.19694819,
1.20896035, 1.22082992, 1.22377543, 1.22671229, 1.24703229,
1.24703229, 1.24703229, 1.25276297, 1.25276297, 1.25276297,
1.25276297, 1.25276297, 1.25276297, 1.25276297, 1.25276297,
1.25276297, 1.25561604, 1.2669476 , 1.28093385, 1.28370777,
1.30291275, 1.31103188, 1.32175584, 1.32441896, 1.32441896,
1.36609165, 1.38629436, 1.38629436, 1.38629436, 1.38629436,
1.38629436, 1.38629436, 1.38629436, 1.38629436, 1.38629436,
1.38629436, 1.38629436, 1.38629436, 1.40118297, 1.40609699,
1.40609699, 1.43270073, 1.43508453, 1.45628673, 1.45861502,
1.45861502, 1.46787435, 1.5040774 , 1.54115907, 1.54968791,
1.5539252 , 1.60943791, 1.60943791, 1.60943791, 1.60943791,
1.60943791, 1.60943791, 1.60943791, 1.60943791, 1.60943791,
1.60943791, 1.62334082, 1.63705308, 1.63899671, 1.64093658,
1.64287269, 1.64865863, 1.7227666 , 1.73165555, 1.76644166,
1.77833645, 1.79175947, 1.87180218, 1.87180218, 1.90210753,
1.90657514, 2.0255132 , 2.19722458, 2.30258509])),
(0.437169269850347, 1.0025376996300004, 0.9949086980990652))
test = stats.skewtest(tips.logtip)
test
SkewtestResult(statistic=0.49672635658719194, pvalue=0.619382033531661)
type(test)
scipy.stats._stats_py.SkewtestResult
test.statistic
0.49672635658719194
test.pvalue
0.619382033531661
stats.kurtosistest(tips.logtip)
KurtosistestResult(statistic=-0.5011192568367938, pvalue=0.6162871950497942)
stats.shapiro(tips.logtip)
ShapiroResult(statistic=0.9888471961021423, pvalue=0.05621703341603279)
norm = stats.norm(m,s)
norm
<scipy.stats._distn_infrastructure.rv_frozen at 0x1e38e1adee0>
stats.kstest(tips.logtip, norm.cdf)
KstestResult(statistic=0.0908346084933565, pvalue=0.033449454468464035)
N = tips.day.value_counts()
N
Sat 87 Sun 76 Thur 62 Fri 19 Name: day, dtype: int64
stats.chisquare(N, np.r_[0.25, 0.25, 0.25, 0.25]*N.sum())
Power_divergenceResult(statistic=43.704918032786885, pvalue=1.7434891890557612e-09)
stats.chisquare(N)
Power_divergenceResult(statistic=43.704918032786885, pvalue=1.7434891890557612e-09)
help(stats.chisquare)
Help on function chisquare in module scipy.stats._stats_py:
chisquare(f_obs, f_exp=None, ddof=0, axis=0)
Calculate a one-way chi-square test.
The chi-square test tests the null hypothesis that the categorical data
has the given frequencies.
Parameters
----------
f_obs : array_like
Observed frequencies in each category.
f_exp : array_like, optional
Expected frequencies in each category. By default the categories are
assumed to be equally likely.
ddof : int, optional
"Delta degrees of freedom": adjustment to the degrees of freedom
for the p-value. The p-value is computed using a chi-squared
distribution with ``k - 1 - ddof`` degrees of freedom, where `k`
is the number of observed frequencies. The default value of `ddof`
is 0.
axis : int or None, optional
The axis of the broadcast result of `f_obs` and `f_exp` along which to
apply the test. If axis is None, all values in `f_obs` are treated
as a single data set. Default is 0.
Returns
-------
chisq : float or ndarray
The chi-squared test statistic. The value is a float if `axis` is
None or `f_obs` and `f_exp` are 1-D.
p : float or ndarray
The p-value of the test. The value is a float if `ddof` and the
return value `chisq` are scalars.
See Also
--------
scipy.stats.power_divergence
scipy.stats.fisher_exact : Fisher exact test on a 2x2 contingency table.
scipy.stats.barnard_exact : An unconditional exact test. An alternative
to chi-squared test for small sample sizes.
Notes
-----
This test is invalid when the observed or expected frequencies in each
category are too small. A typical rule is that all of the observed
and expected frequencies should be at least 5. According to [3]_, the
total number of samples is recommended to be greater than 13,
otherwise exact tests (such as Barnard's Exact test) should be used
because they do not overreject.
Also, the sum of the observed and expected frequencies must be the same
for the test to be valid; `chisquare` raises an error if the sums do not
agree within a relative tolerance of ``1e-8``.
The default degrees of freedom, k-1, are for the case when no parameters
of the distribution are estimated. If p parameters are estimated by
efficient maximum likelihood then the correct degrees of freedom are
k-1-p. If the parameters are estimated in a different way, then the
dof can be between k-1-p and k-1. However, it is also possible that
the asymptotic distribution is not chi-square, in which case this test
is not appropriate.
References
----------
.. [1] Lowry, Richard. "Concepts and Applications of Inferential
Statistics". Chapter 8.
https://web.archive.org/web/20171022032306/http://vassarstats.net:80/textbook/ch8pt1.html
.. [2] "Chi-squared test", https://en.wikipedia.org/wiki/Chi-squared_test
.. [3] Pearson, Karl. "On the criterion that a given system of deviations from the probable
in the case of a correlated system of variables is such that it can be reasonably
supposed to have arisen from random sampling", Philosophical Magazine. Series 5. 50
(1900), pp. 157-175.
Examples
--------
When just `f_obs` is given, it is assumed that the expected frequencies
are uniform and given by the mean of the observed frequencies.
>>> from scipy.stats import chisquare
>>> chisquare([16, 18, 16, 14, 12, 12])
(2.0, 0.84914503608460956)
With `f_exp` the expected frequencies can be given.
>>> chisquare([16, 18, 16, 14, 12, 12], f_exp=[16, 16, 16, 16, 16, 8])
(3.5, 0.62338762774958223)
When `f_obs` is 2-D, by default the test is applied to each column.
>>> obs = np.array([[16, 18, 16, 14, 12, 12], [32, 24, 16, 28, 20, 24]]).T
>>> obs.shape
(6, 2)
>>> chisquare(obs)
(array([ 2. , 6.66666667]), array([ 0.84914504, 0.24663415]))
By setting ``axis=None``, the test is applied to all data in the array,
which is equivalent to applying the test to the flattened array.
>>> chisquare(obs, axis=None)
(23.31034482758621, 0.015975692534127565)
>>> chisquare(obs.ravel())
(23.31034482758621, 0.015975692534127565)
`ddof` is the change to make to the default degrees of freedom.
>>> chisquare([16, 18, 16, 14, 12, 12], ddof=1)
(2.0, 0.73575888234288467)
The calculation of the p-values is done by broadcasting the
chi-squared statistic with `ddof`.
>>> chisquare([16, 18, 16, 14, 12, 12], ddof=[0,1,2])
(2.0, array([ 0.84914504, 0.73575888, 0.5724067 ]))
`f_obs` and `f_exp` are also broadcast. In the following, `f_obs` has
shape (6,) and `f_exp` has shape (2, 6), so the result of broadcasting
`f_obs` and `f_exp` has shape (2, 6). To compute the desired chi-squared
statistics, we use ``axis=1``:
>>> chisquare([16, 18, 16, 14, 12, 12],
... f_exp=[[16, 16, 16, 16, 16, 8], [8, 20, 20, 16, 12, 12]],
... axis=1)
(array([ 3.5 , 9.25]), array([ 0.62338763, 0.09949846]))
stats.ttest_1samp(tips.logtip, popmean=1)
Ttest_1sampResult(statistic=0.09088419733380054, pvalue=0.927659478192855)
tips.logtip.groupby(tips.day).mean()
day Thur 0.932488 Fri 0.931926 Sat 0.978022 Sun 1.105401 Name: logtip, dtype: float64
tips.logtip.groupby(tips.day).apply(lambda x:
pd.Series(stats.shapiro(x),
index=["statistic", "p-value"])).unstack().T
| day | Thur | Fri | Sat | Sun |
|---|---|---|---|---|
| statistic | 0.950247 | 0.955783 | 0.979544 | 0.973801 |
| p-value | 0.013716 | 0.492458 | 0.184291 | 0.116961 |
logtip_day = [z[1] for z in tips.logtip.groupby(tips.day)]
stats.bartlett(*logtip_day)
BartlettResult(statistic=3.1949619130894487, pvalue=0.36253156087065547)
stats.f_oneway(*logtip_day)
F_onewayResult(statistic=2.233205110714639, pvalue=0.08499127498325998)
help(stats.f_oneway)
Help on function f_oneway in module scipy.stats._stats_py:
f_oneway(*args, axis=0)
Perform one-way ANOVA.
The one-way ANOVA tests the null hypothesis that two or more groups have
the same population mean. The test is applied to samples from two or
more groups, possibly with differing sizes.
Parameters
----------
sample1, sample2, ... : array_like
The sample measurements for each group. There must be at least
two arguments. If the arrays are multidimensional, then all the
dimensions of the array must be the same except for `axis`.
axis : int, optional
Axis of the input arrays along which the test is applied.
Default is 0.
Returns
-------
statistic : float
The computed F statistic of the test.
pvalue : float
The associated p-value from the F distribution.
Warns
-----
F_onewayConstantInputWarning
Raised if each of the input arrays is constant array.
In this case the F statistic is either infinite or isn't defined,
so ``np.inf`` or ``np.nan`` is returned.
F_onewayBadInputSizesWarning
Raised if the length of any input array is 0, or if all the input
arrays have length 1. ``np.nan`` is returned for the F statistic
and the p-value in these cases.
Notes
-----
The ANOVA test has important assumptions that must be satisfied in order
for the associated p-value to be valid.
1. The samples are independent.
2. Each sample is from a normally distributed population.
3. The population standard deviations of the groups are all equal. This
property is known as homoscedasticity.
If these assumptions are not true for a given set of data, it may still
be possible to use the Kruskal-Wallis H-test (`scipy.stats.kruskal`) or
the Alexander-Govern test (`scipy.stats.alexandergovern`) although with
some loss of power.
The length of each group must be at least one, and there must be at
least one group with length greater than one. If these conditions
are not satisfied, a warning is generated and (``np.nan``, ``np.nan``)
is returned.
If each group contains constant values, and there exist at least two
groups with different values, the function generates a warning and
returns (``np.inf``, 0).
If all values in all groups are the same, function generates a warning
and returns (``np.nan``, ``np.nan``).
The algorithm is from Heiman [2]_, pp.394-7.
References
----------
.. [1] R. Lowry, "Concepts and Applications of Inferential Statistics",
Chapter 14, 2014, http://vassarstats.net/textbook/
.. [2] G.W. Heiman, "Understanding research methods and statistics: An
integrated introduction for psychology", Houghton, Mifflin and
Company, 2001.
.. [3] G.H. McDonald, "Handbook of Biological Statistics", One-way ANOVA.
http://www.biostathandbook.com/onewayanova.html
Examples
--------
>>> from scipy.stats import f_oneway
Here are some data [3]_ on a shell measurement (the length of the anterior
adductor muscle scar, standardized by dividing by length) in the mussel
Mytilus trossulus from five locations: Tillamook, Oregon; Newport, Oregon;
Petersburg, Alaska; Magadan, Russia; and Tvarminne, Finland, taken from a
much larger data set used in McDonald et al. (1991).
>>> tillamook = [0.0571, 0.0813, 0.0831, 0.0976, 0.0817, 0.0859, 0.0735,
... 0.0659, 0.0923, 0.0836]
>>> newport = [0.0873, 0.0662, 0.0672, 0.0819, 0.0749, 0.0649, 0.0835,
... 0.0725]
>>> petersburg = [0.0974, 0.1352, 0.0817, 0.1016, 0.0968, 0.1064, 0.105]
>>> magadan = [0.1033, 0.0915, 0.0781, 0.0685, 0.0677, 0.0697, 0.0764,
... 0.0689]
>>> tvarminne = [0.0703, 0.1026, 0.0956, 0.0973, 0.1039, 0.1045]
>>> f_oneway(tillamook, newport, petersburg, magadan, tvarminne)
F_onewayResult(statistic=7.121019471642447, pvalue=0.0002812242314534544)
`f_oneway` accepts multidimensional input arrays. When the inputs
are multidimensional and `axis` is not given, the test is performed
along the first axis of the input arrays. For the following data, the
test is performed three times, once for each column.
>>> a = np.array([[9.87, 9.03, 6.81],
... [7.18, 8.35, 7.00],
... [8.39, 7.58, 7.68],
... [7.45, 6.33, 9.35],
... [6.41, 7.10, 9.33],
... [8.00, 8.24, 8.44]])
>>> b = np.array([[6.35, 7.30, 7.16],
... [6.65, 6.68, 7.63],
... [5.72, 7.73, 6.72],
... [7.01, 9.19, 7.41],
... [7.75, 7.87, 8.30],
... [6.90, 7.97, 6.97]])
>>> c = np.array([[3.31, 8.77, 1.01],
... [8.25, 3.24, 3.62],
... [6.32, 8.81, 5.19],
... [7.48, 8.83, 8.91],
... [8.59, 6.01, 6.07],
... [3.07, 9.72, 7.48]])
>>> F, p = f_oneway(a, b, c)
>>> F
array([1.75676344, 0.03701228, 3.76439349])
>>> p
array([0.20630784, 0.96375203, 0.04733157])
import statsmodels.formula.api, statsmodels.api
model = statsmodels.formula.api.ols("logtip~C(day)", data=tips).fit()
statsmodels.api.stats.anova_lm(model)
| df | sum_sq | mean_sq | F | PR(>F) | |
|---|---|---|---|---|---|
| C(day) | 3.0 | 1.255397 | 0.418466 | 2.233205 | 0.084991 |
| Residual | 240.0 | 44.972036 | 0.187383 | NaN | NaN |
flights2 = flights.dropna().sample(n=300, random_state=123)
stats.shapiro(flights2.dep_delay)
ShapiroResult(statistic=0.6195470094680786, pvalue=2.9560195840441754e-25)
stats.shapiro(flights2.arr_delay)
ShapiroResult(statistic=0.822949230670929, pvalue=7.887033137433885e-18)
stats.ks_2samp(flights.dep_delay, flights.arr_delay)
KstestResult(statistic=0.3562486638002708, pvalue=0.0)
stats.mannwhitneyu(flights.dep_delay, flights.arr_delay)
MannwhitneyuResult(statistic=nan, pvalue=nan)
#MACHINE LEARNING!!!!!!!!!!!!!!!!!!!!!!!
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt, seaborn as sns
import sklearn
import os.path
wine = pd.read_csv(os.path.join(os.getcwd(),"Downloads","winequality-all.csv"), comment="#")
wine.color = wine.color.astype("category")
wine.shape
(5320, 13)
print(wine.columns.str.cat(sep=", "))
fixed.acidity, volatile.acidity, citric.acid, residual.sugar, chlorides, free.sulfur.dioxide, total.sulfur.dioxide, density, pH, sulphates, alcohol, response, color
wine.iloc[:,0:11].describe().round(1).T.iloc[:,1:]
| mean | std | min | 25% | 50% | 75% | max | |
|---|---|---|---|---|---|---|---|
| fixed.acidity | 7.2 | 1.3 | 3.8 | 6.4 | 7.0 | 7.7 | 15.9 |
| volatile.acidity | 0.3 | 0.2 | 0.1 | 0.2 | 0.3 | 0.4 | 1.6 |
| citric.acid | 0.3 | 0.1 | 0.0 | 0.2 | 0.3 | 0.4 | 1.7 |
| residual.sugar | 5.0 | 4.5 | 0.6 | 1.8 | 2.7 | 7.5 | 65.8 |
| chlorides | 0.1 | 0.0 | 0.0 | 0.0 | 0.0 | 0.1 | 0.6 |
| free.sulfur.dioxide | 30.0 | 17.8 | 1.0 | 16.0 | 28.0 | 41.0 | 289.0 |
| total.sulfur.dioxide | 114.1 | 56.8 | 6.0 | 74.0 | 116.0 | 153.2 | 440.0 |
| density | 1.0 | 0.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| pH | 3.2 | 0.2 | 2.7 | 3.1 | 3.2 | 3.3 | 4.0 |
| sulphates | 0.5 | 0.1 | 0.2 | 0.4 | 0.5 | 0.6 | 2.0 |
| alcohol | 10.5 | 1.2 | 8.0 | 9.5 | 10.4 | 11.4 | 14.9 |
wine.color.value_counts()
white 3961 red 1359 Name: color, dtype: int64
white_wine = wine[wine.color=="white"]
white_wine = white_wine.iloc[:,0:11]
y=white_wine.iloc[:,-1]
X=white_wine.iloc[:,:-1]
c=white_wine.corr("pearson")
c = c.where(
np.triu(
np.ones(c.shape,
dtype=np.bool),
k=1)
).stack().sort_values()
C:\Users\igors\AppData\Local\Temp/ipykernel_14768/1606139679.py:4: DeprecationWarning: `np.bool` is a deprecated alias for the builtin `bool`. To silence this warning, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations dtype=np.bool),
c[abs(c)>0.5]
density alcohol -0.760162 total.sulfur.dioxide density 0.536868 free.sulfur.dioxide total.sulfur.dioxide 0.619437 residual.sugar density 0.820498 dtype: float64
sns.pairplot(white_wine)
<seaborn.axisgrid.PairGrid at 0x1f78beb4ac0>
import sklearn.linear_model
mnk = sklearn.linear_model.LinearRegression()
mnk.fit(X, y)
LinearRegression()In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
LinearRegression()
mnk.intercept_
680.7090390332934
mnk.coef_
array([ 5.08985834e-01, 8.91433570e-01, 4.16880125e-01, 2.42749178e-01,
-3.94341133e-01, -3.33635324e-03, 2.79786508e-04, -6.87861040e+02,
2.42818063e+00, 1.01964556e+00])
x_nowy = X.to_numpy().mean(axis=0).reshape(1,-1)
mnk.predict(x_nowy)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\base.py:450: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names warnings.warn(
array([10.58935791])
y_pred = mnk.predict(X)
y_pred[0:4]
array([ 8.76177537, 9.46286638, 10.70447049, 9.96719912])
x_nowy
array([[6.83934612e+00, 2.80537743e-01, 3.34332239e-01, 5.91481949e+00,
4.59050745e-02, 3.48891694e+01, 1.37193512e+02, 9.93789530e-01,
3.19545822e+00, 4.90350921e-01]])
y_pred.size
3961
y[0:4]
1359 8.8 1360 9.5 1361 10.1 1362 9.9 Name: alcohol, dtype: float64
mnk.score(X, y)
0.8580656118411156
import sklearn.metrics
sklearn.metrics.r2_score(y, y_pred)
sklearn.metrics.mean_squared_error(y,y_pred)
sklearn.metrics.mean_absolute_error(y,y_pred)
0.3014020196706794
sklearn.metrics.median_absolute_error(y,y_pred)
0.24887712240292714
from sklearn.model_selection import train_test_split
X_ucz, X_test, y_ucz, y_test = train_test_split(X, y, test_size=0.2, random_state=12345)
X_ucz.shape, X_text.shape, y_ucz.shape, y_test.shape
((3168, 10), (793, 10), (3168,), (793,))
def fit_regression(X_ucz, X_test, y_ucz, y_test):
r=sklearn.linear_model.LinearRegression()
r.fit(X_ucz, y_ucz)
y_ucz_pred = r.predict(X_ucz)
y_test_pred = r.predict(X_test)
mse = sklearn.metrics.mean_squared_error
return {
"r_score": r.score(X_ucz, y_ucz),
"MSE_u": mse(y_ucz, y_ucz_pred),
"MSE_t": mse(y_test, y_test_pred)
}
params=["zm. liniowe"]
res = [fit_regression(X_ucz, X_test, y_ucz, y_test)]
pd.DataFrame(res, index=params)
| r_score | MSE_u | MSE_t | |
|---|---|---|---|
| zm. liniowe | 0.906772 | 0.138808 | 0.54539 |
import sklearn.preprocessing
p2test = sklearn.preprocessing.PolynomialFeatures(degree=2, include_bias = False)
p2test.fit_transform(np.array([[2,3,5],[1,2,3]]))
array([[ 2., 3., 5., 4., 6., 10., 9., 15., 25.],
[ 1., 2., 3., 1., 2., 3., 4., 6., 9.]])
p2test.powers_.T
array([[1, 0, 0, 2, 1, 1, 0, 0, 0],
[0, 1, 0, 0, 1, 0, 2, 1, 0],
[0, 0, 1, 0, 0, 1, 0, 1, 2]], dtype=int64)
p2 = sklearn.preprocessing.PolynomialFeatures(degree=2,include_bias = False)
X2_ucz = p2.fit_transform(X_ucz)
X2_test = p2.fit_transform(X_test)
params.append("zm. wielom")
res.append(fit_regression(X2_ucz, X2_test, y_ucz, y_test))
pd.DataFrame(res, index=params)
| r_score | MSE_u | MSE_t | |
|---|---|---|---|
| zm. liniowe | 0.906772 | 0.138808 | 0.54539 |
| zm. wielom | 0.923976 | 0.113192 | 0.15542 |
def BIC(mse, p, n):
return n*np.log(mse) + p*np.log(n)
import pandas as pd
klient_dane = {'id_klienta':[1,2,3,4,5,6,7,8,9,10], 'plec':['k','k','k','k','k','m','m','k','k','k'], 'wiek':[31,32,32,32,46,21,26,21,26,46]}
klient = pd.DataFrame(klient_dane)
produkt_dane = {'id_produktu':[1,2], 'nazwa_produktu':["ekonto","brak"], 'rodzaj produktu':["ek","brak"]}
produkt = pd.DataFrame(produkt_dane)
klient_produkt_dane = {'id_klienta':[1,2,3,4,5,6,7,8,9,10], 'id_produktu':[1,1,1,1,1,2,2,2,1,1], 'data otwarcia':["2020","2020","2020","2020","2020","2020","2020","2020","2020","2020"]}
klient_produkt = pd.DataFrame(klient_produkt_dane)
produkt
| id_produktu | nazwa_produktu | rodzaj produktu | |
|---|---|---|---|
| 0 | 1 | ekonto | ek |
| 1 | 2 | brak | brak |
testowe = """SELECT klient.id_klienta FROM klient LIMIT 2"""
import pandasql as ps
ps.sqldf("""select klient.wiek, count(wiek) as ILE_KOBIET_Z_EKONTEM FROM klient_produkt
JOIN klient ON klient.id_klienta=klient_produkt.id_klienta
JOIN produkt ON produkt.id_produktu=klient_produkt.id_produktu
WHERE plec="k" AND upper(nazwa_produktu)="EKONTO" AND wiek in (32, 21, 46, 26)
GROUP BY wiek
ORDER BY count(wiek) DESC
""")
| wiek | ILE_KOBIET_Z_EKONTEM | |
|---|---|---|
| 0 | 32 | 3 |
| 1 | 46 | 2 |
| 2 | 26 | 1 |
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
zad4=pd.read_excel("C://Users//igors//Downloads//Rekrutacja - Specjalista ds. analiz i komunikacji CRM- zadania.xlsx", sheet_name="Zadanie 4")
zad4=zad4.iloc[:,:4]
zad4["średnia"]=zad4["liczba sprzedanych produktów"]/zad4["liczba ofert"]
zad4["średnia"]=round(100*zad4["średnia"],1)
x = zad4.iloc[0:6,1].to_numpy()
x
array(['2021-01', '2021-02', '2021-03', '2021-04', '2021-05', '2021-06'],
dtype=object)
data = [zad4[zad4["miesiąc"]==miesiace[0]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[1]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[2]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[3]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[4]].iloc[:,4],
zad4[zad4["miesiąc"]==miesiace[5]].iloc[:,4]]
fig = plt.figure()
ax = fig.add_axes([0,0,2,1])
X = np.arange(9)
ax.bar(X - 0.20, data[0], color = 'grey', width = 0.1)
ax.bar(X - 0.10, data[1], color = 'blue', width = 0.1)
ax.bar(X + 0.00, data[2], color = 'lightgreen', width = 0.1)
ax.bar(X + 0.10, data[3], color = 'green', width = 0.1)
ax.bar(X + 0.20, data[4], color = 'yellow', width = 0.1)
ax.bar(X + 0.30, data[5], color = 'orange', width = 0.1)
plt.xticks([0,1,2,3,4,5,6,7,8],zad4["Kampania"].unique())
plt.legend(zad4["miesiąc"].unique())
plt.title("Odsetek sprzedanych produktów względem liczby ofert")
Text(0.5, 1.0, 'Odsetek sprzedanych produktów względem liczby ofert')
zad4[zad4["miesiąc"]=="2021-01"]
| Kampania | miesiąc | liczba ofert | liczba sprzedanych produktów | średnia | |
|---|---|---|---|---|---|
| 0 | Kampania_A | 2021-01 | 1200.0 | 34.0 | 2.8 |
| 6 | Kampania_B | 2021-01 | 30000.0 | 1243.0 | 4.1 |
| 12 | Kampania_C | 2021-01 | 21567.0 | 123.0 | 0.6 |
| 18 | Kampania_D | 2021-01 | 32900.0 | 988.0 | 3.0 |
| 24 | Kampania_E | 2021-01 | 41567.0 | 657.0 | 1.6 |
| 30 | Kampania_F | 2021-01 | 10000.0 | 124.0 | 1.2 |
| 36 | Kampania_G | 2021-01 | 688.0 | 59.0 | 8.6 |
| 42 | Kampania_H | 2021-01 | 34567.0 | 26.0 | 0.1 |
| 48 | Kampania_I | 2021-01 | 235.0 | 20.0 | 8.5 |
miesiace = zad4["miesiąc"].unique()
zad4[zad4["miesiąc"]==miesiace[1]].iloc[:,4]
1 2.8 7 4.3 13 0.8 19 3.2 25 1.6 31 3.8 37 4.0 43 0.1 49 11.0 Name: średnia, dtype: float64
x
array(['2021-01', '2021-02', '2021-03', '2021-04', '2021-05', '2021-06'],
dtype=object)
data = [zad4.iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[1]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[2]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[3]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[4]].iloc[:,4].mean(),
zad4[zad4["miesiąc"]==miesiace[5]].iloc[:,4].mean()]
fig = plt.figure()
ax = fig.add_axes([0,0,2,1])
X = np.arange(9)
ax.bar(X - 0.20, data[0], color = 'grey', width = 0.1)
ax.bar(X - 0.10, data[1], color = 'blue', width = 0.1)
ax.bar(X + 0.00, data[2], color = 'lightgreen', width = 0.1)
ax.bar(X + 0.10, data[3], color = 'green', width = 0.1)
ax.bar(X + 0.20, data[4], color = 'yellow', width = 0.1)
ax.bar(X + 0.30, data[5], color = 'orange', width = 0.1)
plt.xticks([0,1,2,3,4,5,6,7,8],zad4["Kampania"].unique())
plt.legend(zad4["miesiąc"].unique())
plt.title("Odsetek sprzedanych produktów względem liczby ofert")
Text(0.5, 1.0, 'Odsetek sprzedanych produktów względem liczby ofert')
zad4.groupby(["Kampania"])["liczba ofert","średnia"].agg(np.mean).sort_values(["średnia"])
C:\Users\igors\AppData\Local\Temp/ipykernel_6956/145967440.py:1: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead. zad4.groupby(["Kampania"])["liczba ofert","średnia"].agg(np.mean).sort_values(["średnia"])
| liczba ofert | średnia | |
|---|---|---|
| Kampania | ||
| Kampania_H | 34800.833333 | 0.100000 |
| Kampania_C | 21752.500000 | 0.650000 |
| Kampania_E | 41049.666667 | 1.600000 |
| Kampania_F | 10000.000000 | 2.150000 |
| Kampania_A | 2125.000000 | 2.600000 |
| Kampania_D | 50409.666667 | 2.933333 |
| Kampania_B | 21423.333333 | 3.850000 |
| Kampania_G | 2266.500000 | 5.000000 |
| Kampania_I | 263.500000 | 9.950000 |
zad4.iloc[:,np.r_[0,1,3]][zad4["liczba sprzedanych produktów"]>1000]
| Kampania | miesiąc | liczba sprzedanych produktów | |
|---|---|---|---|
| 6 | Kampania_B | 2021-01 | 1243.0 |
| 19 | Kampania_D | 2021-02 | 1245.0 |
| 20 | Kampania_D | 2021-03 | 1367.0 |
| 21 | Kampania_D | 2021-04 | 1670.0 |
| 22 | Kampania_D | 2021-05 | 1678.0 |
| 23 | Kampania_D | 2021-06 | 1789.0 |
zad4
| Kampania | miesiąc | liczba ofert | liczba sprzedanych produktów | średnia | |
|---|---|---|---|---|---|
| 0 | Kampania_A | 2021-01 | 1200.0 | 34.0 | 2.8 |
| 1 | Kampania_A | 2021-02 | 1600.0 | 45.0 | 2.8 |
| 2 | Kampania_A | 2021-03 | 1900.0 | 50.0 | 2.6 |
| 3 | Kampania_A | 2021-04 | 2400.0 | 59.0 | 2.5 |
| 4 | Kampania_A | 2021-05 | 2800.0 | 70.0 | 2.5 |
| 5 | Kampania_A | 2021-06 | 2850.0 | 69.0 | 2.4 |
| 6 | Kampania_B | 2021-01 | 30000.0 | 1243.0 | 4.1 |
| 7 | Kampania_B | 2021-02 | 23000.0 | 999.0 | 4.3 |
| 8 | Kampania_B | 2021-03 | 21000.0 | 879.0 | 4.2 |
| 9 | Kampania_B | 2021-04 | 19870.0 | 679.0 | 3.4 |
| 10 | Kampania_B | 2021-05 | 17890.0 | 598.0 | 3.3 |
| 11 | Kampania_B | 2021-06 | 16780.0 | 640.0 | 3.8 |
| 12 | Kampania_C | 2021-01 | 21567.0 | 123.0 | 0.6 |
| 13 | Kampania_C | 2021-02 | 20567.0 | 156.0 | 0.8 |
| 14 | Kampania_C | 2021-03 | 22314.0 | 168.0 | 0.8 |
| 15 | Kampania_C | 2021-04 | 22045.0 | 129.0 | 0.6 |
| 16 | Kampania_C | 2021-05 | 22143.0 | 128.0 | 0.6 |
| 17 | Kampania_C | 2021-06 | 21879.0 | 111.0 | 0.5 |
| 18 | Kampania_D | 2021-01 | 32900.0 | 988.0 | 3.0 |
| 19 | Kampania_D | 2021-02 | 39000.0 | 1245.0 | 3.2 |
| 20 | Kampania_D | 2021-03 | 45789.0 | 1367.0 | 3.0 |
| 21 | Kampania_D | 2021-04 | 55880.0 | 1670.0 | 3.0 |
| 22 | Kampania_D | 2021-05 | 60999.0 | 1678.0 | 2.8 |
| 23 | Kampania_D | 2021-06 | 67890.0 | 1789.0 | 2.6 |
| 24 | Kampania_E | 2021-01 | 41567.0 | 657.0 | 1.6 |
| 25 | Kampania_E | 2021-02 | 39876.0 | 630.0 | 1.6 |
| 26 | Kampania_E | 2021-03 | 35679.0 | 568.0 | 1.6 |
| 27 | Kampania_E | 2021-04 | 46987.0 | 789.0 | 1.7 |
| 28 | Kampania_E | 2021-05 | 42091.0 | 653.0 | 1.6 |
| 29 | Kampania_E | 2021-06 | 40098.0 | 599.0 | 1.5 |
| 30 | Kampania_F | 2021-01 | 10000.0 | 124.0 | 1.2 |
| 31 | Kampania_F | 2021-02 | 10000.0 | 380.0 | 3.8 |
| 32 | Kampania_F | 2021-03 | 10000.0 | 56.0 | 0.6 |
| 33 | Kampania_F | 2021-04 | 10000.0 | 87.0 | 0.9 |
| 34 | Kampania_F | 2021-05 | 10000.0 | 67.0 | 0.7 |
| 35 | Kampania_F | 2021-06 | 10000.0 | 567.0 | 5.7 |
| 36 | Kampania_G | 2021-01 | 688.0 | 59.0 | 8.6 |
| 37 | Kampania_G | 2021-02 | 1986.0 | 79.0 | 4.0 |
| 38 | Kampania_G | 2021-03 | 2657.0 | 167.0 | 6.3 |
| 39 | Kampania_G | 2021-04 | 3408.0 | 86.0 | 2.5 |
| 40 | Kampania_G | 2021-05 | 3977.0 | 99.0 | 2.5 |
| 41 | Kampania_G | 2021-06 | 883.0 | 54.0 | 6.1 |
| 42 | Kampania_H | 2021-01 | 34567.0 | 26.0 | 0.1 |
| 43 | Kampania_H | 2021-02 | 32145.0 | 48.0 | 0.1 |
| 44 | Kampania_H | 2021-03 | 38902.0 | 38.0 | 0.1 |
| 45 | Kampania_H | 2021-04 | 30175.0 | 20.0 | 0.1 |
| 46 | Kampania_H | 2021-05 | 35671.0 | 32.0 | 0.1 |
| 47 | Kampania_H | 2021-06 | 37345.0 | 29.0 | 0.1 |
| 48 | Kampania_I | 2021-01 | 235.0 | 20.0 | 8.5 |
| 49 | Kampania_I | 2021-02 | 136.0 | 15.0 | 11.0 |
| 50 | Kampania_I | 2021-03 | 334.0 | 33.0 | 9.9 |
| 51 | Kampania_I | 2021-04 | 289.0 | 29.0 | 10.0 |
| 52 | Kampania_I | 2021-05 | 330.0 | 31.0 | 9.4 |
| 53 | Kampania_I | 2021-06 | 257.0 | 28.0 | 10.9 |
transakcje_dane = {'klient':[4,1,3,4,2,1,4],'partner':['BP','Real','Allegro','Orange','BP','Real','Real'],'data':['2017-09-11','2017-09-12','2017-09-13','2017-09-14','2017-09-15','2017-09-16','2017-09-17'], 'kwota':[150,150,100,50,100,150,50]}
transakcje = pd.DataFrame(transakcje_dane)
transakcje
| klient | partner | data | kwota | |
|---|---|---|---|---|
| 0 | 4 | BP | 2017-09-11 | 150 |
| 1 | 1 | Real | 2017-09-12 | 150 |
| 2 | 3 | Allegro | 2017-09-13 | 100 |
| 3 | 4 | Orange | 2017-09-14 | 50 |
| 4 | 2 | BP | 2017-09-15 | 100 |
| 5 | 1 | Real | 2017-09-16 | 150 |
| 6 | 4 | Real | 2017-09-17 | 50 |
ps.sqldf("""SELECT KLIENT, PARTNER, KWOTA from transakcje group by KLIENT order by DATA limit 4
""")
| klient | partner | kwota | |
|---|---|---|---|
| 0 | 4 | BP | 150 |
| 1 | 1 | Real | 150 |
| 2 | 3 | Allegro | 100 |
| 3 | 2 | BP | 100 |
import sklearn
from sklearn.datasets import load_breast_cancer
data=load_breast_cancer()
data
{'data': array([[1.799e+01, 1.038e+01, 1.228e+02, ..., 2.654e-01, 4.601e-01,
1.189e-01],
[2.057e+01, 1.777e+01, 1.329e+02, ..., 1.860e-01, 2.750e-01,
8.902e-02],
[1.969e+01, 2.125e+01, 1.300e+02, ..., 2.430e-01, 3.613e-01,
8.758e-02],
...,
[1.660e+01, 2.808e+01, 1.083e+02, ..., 1.418e-01, 2.218e-01,
7.820e-02],
[2.060e+01, 2.933e+01, 1.401e+02, ..., 2.650e-01, 4.087e-01,
1.240e-01],
[7.760e+00, 2.454e+01, 4.792e+01, ..., 0.000e+00, 2.871e-01,
7.039e-02]]),
'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,
1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,
0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,
1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,
0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,
0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,
1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,
1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1]),
'frame': None,
'target_names': array(['malignant', 'benign'], dtype='<U9'),
'DESCR': '.. _breast_cancer_dataset:\n\nBreast cancer wisconsin (diagnostic) dataset\n--------------------------------------------\n\n**Data Set Characteristics:**\n\n :Number of Instances: 569\n\n :Number of Attributes: 30 numeric, predictive attributes and the class\n\n :Attribute Information:\n - radius (mean of distances from center to points on the perimeter)\n - texture (standard deviation of gray-scale values)\n - perimeter\n - area\n - smoothness (local variation in radius lengths)\n - compactness (perimeter^2 / area - 1.0)\n - concavity (severity of concave portions of the contour)\n - concave points (number of concave portions of the contour)\n - symmetry\n - fractal dimension ("coastline approximation" - 1)\n\n The mean, standard error, and "worst" or largest (mean of the three\n worst/largest values) of these features were computed for each image,\n resulting in 30 features. For instance, field 0 is Mean Radius, field\n 10 is Radius SE, field 20 is Worst Radius.\n\n - class:\n - WDBC-Malignant\n - WDBC-Benign\n\n :Summary Statistics:\n\n ===================================== ====== ======\n Min Max\n ===================================== ====== ======\n radius (mean): 6.981 28.11\n texture (mean): 9.71 39.28\n perimeter (mean): 43.79 188.5\n area (mean): 143.5 2501.0\n smoothness (mean): 0.053 0.163\n compactness (mean): 0.019 0.345\n concavity (mean): 0.0 0.427\n concave points (mean): 0.0 0.201\n symmetry (mean): 0.106 0.304\n fractal dimension (mean): 0.05 0.097\n radius (standard error): 0.112 2.873\n texture (standard error): 0.36 4.885\n perimeter (standard error): 0.757 21.98\n area (standard error): 6.802 542.2\n smoothness (standard error): 0.002 0.031\n compactness (standard error): 0.002 0.135\n concavity (standard error): 0.0 0.396\n concave points (standard error): 0.0 0.053\n symmetry (standard error): 0.008 0.079\n fractal dimension (standard error): 0.001 0.03\n radius (worst): 7.93 36.04\n texture (worst): 12.02 49.54\n perimeter (worst): 50.41 251.2\n area (worst): 185.2 4254.0\n smoothness (worst): 0.071 0.223\n compactness (worst): 0.027 1.058\n concavity (worst): 0.0 1.252\n concave points (worst): 0.0 0.291\n symmetry (worst): 0.156 0.664\n fractal dimension (worst): 0.055 0.208\n ===================================== ====== ======\n\n :Missing Attribute Values: None\n\n :Class Distribution: 212 - Malignant, 357 - Benign\n\n :Creator: Dr. William H. Wolberg, W. Nick Street, Olvi L. Mangasarian\n\n :Donor: Nick Street\n\n :Date: November, 1995\n\nThis is a copy of UCI ML Breast Cancer Wisconsin (Diagnostic) datasets.\nhttps://goo.gl/U2Uwz2\n\nFeatures are computed from a digitized image of a fine needle\naspirate (FNA) of a breast mass. They describe\ncharacteristics of the cell nuclei present in the image.\n\nSeparating plane described above was obtained using\nMultisurface Method-Tree (MSM-T) [K. P. Bennett, "Decision Tree\nConstruction Via Linear Programming." Proceedings of the 4th\nMidwest Artificial Intelligence and Cognitive Science Society,\npp. 97-101, 1992], a classification method which uses linear\nprogramming to construct a decision tree. Relevant features\nwere selected using an exhaustive search in the space of 1-4\nfeatures and 1-3 separating planes.\n\nThe actual linear program used to obtain the separating plane\nin the 3-dimensional space is that described in:\n[K. P. Bennett and O. L. Mangasarian: "Robust Linear\nProgramming Discrimination of Two Linearly Inseparable Sets",\nOptimization Methods and Software 1, 1992, 23-34].\n\nThis database is also available through the UW CS ftp server:\n\nftp ftp.cs.wisc.edu\ncd math-prog/cpo-dataset/machine-learn/WDBC/\n\n.. topic:: References\n\n - W.N. Street, W.H. Wolberg and O.L. Mangasarian. Nuclear feature extraction \n for breast tumor diagnosis. IS&T/SPIE 1993 International Symposium on \n Electronic Imaging: Science and Technology, volume 1905, pages 861-870,\n San Jose, CA, 1993.\n - O.L. Mangasarian, W.N. Street and W.H. Wolberg. Breast cancer diagnosis and \n prognosis via linear programming. Operations Research, 43(4), pages 570-577, \n July-August 1995.\n - W.H. Wolberg, W.N. Street, and O.L. Mangasarian. Machine learning techniques\n to diagnose breast cancer from fine-needle aspirates. Cancer Letters 77 (1994) \n 163-171.',
'feature_names': array(['mean radius', 'mean texture', 'mean perimeter', 'mean area',
'mean smoothness', 'mean compactness', 'mean concavity',
'mean concave points', 'mean symmetry', 'mean fractal dimension',
'radius error', 'texture error', 'perimeter error', 'area error',
'smoothness error', 'compactness error', 'concavity error',
'concave points error', 'symmetry error',
'fractal dimension error', 'worst radius', 'worst texture',
'worst perimeter', 'worst area', 'worst smoothness',
'worst compactness', 'worst concavity', 'worst concave points',
'worst symmetry', 'worst fractal dimension'], dtype='<U23'),
'filename': 'breast_cancer.csv',
'data_module': 'sklearn.datasets.data'}
data.target
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,
1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,
0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,
1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,
0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,
0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,
1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,
1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1])
import pandas as pd
df = pd.DataFrame(data.data, columns=data.feature_names)
df.head()
| mean radius | mean texture | mean perimeter | mean area | mean smoothness | mean compactness | mean concavity | mean concave points | mean symmetry | mean fractal dimension | ... | worst radius | worst texture | worst perimeter | worst area | worst smoothness | worst compactness | worst concavity | worst concave points | worst symmetry | worst fractal dimension | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 17.99 | 10.38 | 122.80 | 1001.0 | 0.11840 | 0.27760 | 0.3001 | 0.14710 | 0.2419 | 0.07871 | ... | 25.38 | 17.33 | 184.60 | 2019.0 | 0.1622 | 0.6656 | 0.7119 | 0.2654 | 0.4601 | 0.11890 |
| 1 | 20.57 | 17.77 | 132.90 | 1326.0 | 0.08474 | 0.07864 | 0.0869 | 0.07017 | 0.1812 | 0.05667 | ... | 24.99 | 23.41 | 158.80 | 1956.0 | 0.1238 | 0.1866 | 0.2416 | 0.1860 | 0.2750 | 0.08902 |
| 2 | 19.69 | 21.25 | 130.00 | 1203.0 | 0.10960 | 0.15990 | 0.1974 | 0.12790 | 0.2069 | 0.05999 | ... | 23.57 | 25.53 | 152.50 | 1709.0 | 0.1444 | 0.4245 | 0.4504 | 0.2430 | 0.3613 | 0.08758 |
| 3 | 11.42 | 20.38 | 77.58 | 386.1 | 0.14250 | 0.28390 | 0.2414 | 0.10520 | 0.2597 | 0.09744 | ... | 14.91 | 26.50 | 98.87 | 567.7 | 0.2098 | 0.8663 | 0.6869 | 0.2575 | 0.6638 | 0.17300 |
| 4 | 20.29 | 14.34 | 135.10 | 1297.0 | 0.10030 | 0.13280 | 0.1980 | 0.10430 | 0.1809 | 0.05883 | ... | 22.54 | 16.67 | 152.20 | 1575.0 | 0.1374 | 0.2050 | 0.4000 | 0.1625 | 0.2364 | 0.07678 |
5 rows × 30 columns
from sklearn.model_selection import train_test_split
X = data.data
Y = data.target
X_tren, X_test, y_tren, y_test = train_test_split(X, Y, test_size=0.25)
from sklearn.neighbors import KNeighborsClassifier
knn=KNeighborsClassifier(n_neighbors=3)
knn.fit(X_tren, y_tren)
KNeighborsClassifier(n_neighbors=3)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
KNeighborsClassifier(n_neighbors=3)
prognoza_tren=knn.predict(X_tren)
prognoza_tren
array([1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0,
1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1,
1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0,
0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0,
1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1,
0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1,
1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1,
1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0,
0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1,
1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0,
1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1,
1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1,
0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1,
1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0,
0, 1, 1, 1, 0, 0, 1, 0])
X_test.size
4290
prognoza_test=knn.predict(X_test)
#macierz błędów klasyfikacji
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, prognoza_test)
array([[53, 5],
[ 5, 80]], dtype=int64)
#inne miary oceny jakosci klasyfikacji
from sklearn.metrics import accuracy_score, f1_score
accuracy_score(y_test, prognoza_test)
0.9300699300699301
f1_score(y_test, prognoza_test)
0.9411764705882353
#dla porównania na zbiorze uczącym
accuracy_score(y_tren, prognoza_tren)
0.9553990610328639
#pełny raport
from sklearn.metrics import classification_report
print(classification_report(y_test, prognoza_test))
precision recall f1-score support
0 0.91 0.91 0.91 58
1 0.94 0.94 0.94 85
accuracy 0.93 143
macro avg 0.93 0.93 0.93 143
weighted avg 0.93 0.93 0.93 143
#budujemy model dla liniowej analizy dyskryminacyjnej
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda=LinearDiscriminantAnalysis()
lda.fit(X_tren, y_tren)
prognoza_test2=knn.predict(X_test)
accuracy_score(y_test, prognoza_test2)
0.9300699300699301
#prosty klasyfikator Bayesa
from sklearn.naive_bayes import GaussianNB
bayes=GaussianNB()
bayes.fit(X_tren,y_tren)
prognoza_test3=bayes.predict(X_test)
accuracy_score(y_test, prognoza_test3)
0.9020979020979021
#regresja logistyczna
from sklearn.linear_model import LogisticRegression
logistic=LogisticRegression()
logistic.fit(X_tren,y_tren)
prognoza_test4=logistic.predict(X_test)
accuracy_score(y_test, prognoza_test4)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\linear_model\_logistic.py:444: ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
Increase the number of iterations (max_iter) or scale the data as shown in:
https://scikit-learn.org/stable/modules/preprocessing.html
Please also refer to the documentation for alternative solver options:
https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
n_iter_i = _check_optimize_result(
0.951048951048951
#podsumowanie
metody=["kNN","LDA","NB","LogisticR"]
zbiory_wynikow=[prognoza_test, prognoza_test2,prognoza_test3,prognoza_test4]
for metoda, wyniki in zip(metody, zbiory_wynikow):
print(metoda, accuracy_score(y_test, wyniki))
kNN 0.9300699300699301 LDA 0.9300699300699301 NB 0.9020979020979021 LogisticR 0.951048951048951
#inny, znany nam zbiór
from sklearn.datasets import load_iris
data2 = load_iris(as_frame=True)
df2=pd.DataFrame(data2.data)
df2.head()
#data2.target
#data2.target_names
| sepal length (cm) | sepal width (cm) | petal length (cm) | petal width (cm) | |
|---|---|---|---|---|
| 0 | 5.1 | 3.5 | 1.4 | 0.2 |
| 1 | 4.9 | 3.0 | 1.4 | 0.2 |
| 2 | 4.7 | 3.2 | 1.3 | 0.2 |
| 3 | 4.6 | 3.1 | 1.5 | 0.2 |
| 4 | 5.0 | 3.6 | 1.4 | 0.2 |
# Zaczynamy od załadowania bibliotek. Te najpopularniejsze to
# pandas - do pracy z danymi
# matplotlib - do rysowania wykresow
# sklearn - zawierający gotowe funkcje modelujące dane
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from mpl_toolkits.mplot3d import Axes3D
from sklearn.decomposition import PCA
# tutaj ładujemy dane do obiektu data frame z biblioteki pandas
# plik CSV nie posiada nagłówka dlatego header=None
# kolumnom nadajemy nazwy korzystając z parametru names
# W skryptach ML dane trzeba skądś pobrać, stad znajomość polecenia
# read_csv jest super przydatna
iris = pd.read_csv(r"C:\Users\igors\Downloads\iris\iris.data",
header = None,
names = ['petal length', 'petal width',
'sepal length', 'sepal width', 'species'])
iris
| petal length | petal width | sepal length | sepal width | species | |
|---|---|---|---|---|---|
| 0 | 5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
| 1 | 4.9 | 3.0 | 1.4 | 0.2 | Iris-setosa |
| 2 | 4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
| 3 | 4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
| 4 | 5.0 | 3.6 | 1.4 | 0.2 | Iris-setosa |
| ... | ... | ... | ... | ... | ... |
| 145 | 6.7 | 3.0 | 5.2 | 2.3 | Iris-virginica |
| 146 | 6.3 | 2.5 | 5.0 | 1.9 | Iris-virginica |
| 147 | 6.5 | 3.0 | 5.2 | 2.0 | Iris-virginica |
| 148 | 6.2 | 3.4 | 5.4 | 2.3 | Iris-virginica |
| 149 | 5.9 | 3.0 | 5.1 | 1.8 | Iris-virginica |
150 rows × 5 columns
# można sprawdzic rozmiar wczytanego zbioru
# jeśli obiekt ma więcej wymiarów, to można niezależnie sprawdzać każdy z nich
# W skryptach ML, często trzeba zainicjować rozmiary innych obiektów zależnie od
# rozmiaru danych wejściowych. Robi się to korzystając własnie z właściwości shape
iris.shape
5
# dalej przygotowujemy wykres - tutaj wyznaczenie wartości min i max dla
# 2 wybranych kolumn z rozmiarami kwiatów. Kiedy chcesz się odwołać do całej kolumny w data frame,
# to w nawiasie kwadratowym podajesz nazwę tej kolumny
x_min, x_max = iris['petal length'].min() - .5, iris['petal length'].max() + .5
y_min, y_max = iris['petal width'].min() - .5, iris['petal width'].max() + .5
# każdy gatunek ma być wyświetlony w innym kolorze - definiujemy słownik
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
# tworzymy obiekt odpowiedzialny za rysowany wykres i jego współrzędne
# instrukcje odtąd aż do plt.show() uruchom zaznaczając cały ten blok kodu
fig, ax = plt.subplots(figsize=(8, 6))
# grupujemy dane ze względu na gatunek i rysujemy dane. Korzystamy tu z metody groupby obiektu data frame
# funkcja zwraca klucz identyfikujący nazwę grupy (tutaj jest to nazwa gatunku kwiatu) oraz
# próbki wchodzące w skład tej grupy. To pozwala rysować każdą grupę w innym kolorze
for key, group in iris.groupby(by='species'):
plt.scatter(group['petal length'], group['petal width'],
c=colors[key], label=key)
#dodajemy legendę i opis osi
ax.legend()
plt.xlabel('petal length')
plt.ylabel('petal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
plt.show()
# teraz podobny wykres można sporządzić dla sepal
# pamiętaj o uruchomieniu mając zaznaczony blok kodu odtąd aż do plt.show()
# kroki są takie same jak w poprzednim przykładzie
x_min, x_max = iris['sepal length'].min() - .5, iris['sepal length'].max() + .5
y_min, y_max = iris['sepal width'].min() - .5, iris['sepal width'].max() + .5
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
fig, ax = plt.subplots(figsize=(8, 6))
for key, group in iris.groupby(by='species'):
# funkcja scatter przyjmuje argumenty - współrzędne X punktów, współrzędne Y punktów,
# kolor i nazwę rysowanej grupy
plt.scatter(group['sepal length'], group['sepal width'],
c=colors[key], label=key)
ax.legend()
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
plt.show()
# utwórz wykres składający się z 4 małych wykresów
fig, ax = plt.subplots(2,2,figsize=(10, 6))
# aktualnie rysowanie odbędzie się w określonym pod-wykresie
plt_position = 1
# obrazujemy zależność miedzy tą zmienną, a pozostałymi cechami próbek
feature_x= 'petal width'
# dla każdej cechy opisującej kwiaty
for feature_y in iris.columns[:4]:
# wybierz kolejny pod wykres
plt.subplot(2, 2, plt_position)
# i rysuj osobne wykresy dla każdego gatunku (te 3 rysowane tu wykresy
# nakładają sie na siebie, co pozwala automatycznie generować legendę)
for species, color in colors.items():
# podczas rysowanie należy odfiltrować tylko kwiaty jednego gatunku
# zobacz jak filtrować dane. Służy do tego funkcja loc wywoływana dla data frame
# wyrażenie w nawiasie kwadratowym ma zwracać True/False. Zwrócone będą wiersze,
# gdzie wyrażenie ma wartość True. Po przecinku znajduje się nazwa kolumny, która ma być zwrócona
plt.scatter(iris.loc[iris['species']==species, feature_x],
iris.loc[iris['species']==species, feature_y],
label=species,
alpha = 0.45, # transparency
color=color)
# opisujemy wykres
plt.xlabel(feature_x)
plt.ylabel(feature_y)
plt.legend()
plt_position += 1
plt.show()
# Zamiast analizować każdą parę niezależnie można generować tzw. scatter matrix,
# czyli gotową macierz z wykresami dla każdej pary właściwości
# tutaj wykorzystujemy funkcję scatter_matrix zaimplementowaną w pandas...
# Do wyznaczenia koloru skorzystaliśmy z funkcji apply. Pozwala ona wywołać prostą funkcję na rzecz
# każdego wiersza z data frame lub serii danych
pd.plotting.scatter_matrix(iris, figsize=(8, 8),
color = iris['species'].apply(lambda x: colors[x]));
plt.show()
# ... a tutaj podobny wykres generowany przez funkcję pairplot z modułu seaborn
import seaborn as sns
sns.set()
sns.pairplot(iris, hue="species")
<seaborn.axisgrid.PairGrid at 0x1a9cf5d2220>
import pandas as pd
tab1=pd.read_excel("C://Users//igors//Downloads//Dane_do_zadania_wysylka_walentynkowa.xlsx","Historia Kontaktu")
tab2=pd.read_excel("C://Users//igors//Downloads//Dane_do_zadania_wysylka_walentynkowa.xlsx","Tabela Transakcji")
tab2
| id_klienta | data_zakupu | kwota_zakupu | |
|---|---|---|---|
| 0 | 58 | 2018-01-02 | 142.96 |
| 1 | 151 | 2018-01-02 | 146.75 |
| 2 | 501 | 2018-01-02 | 156.84 |
| 3 | 1134 | 2018-01-02 | 60.31 |
| 4 | 2848 | 2018-01-02 | 146.58 |
| ... | ... | ... | ... |
| 1995 | 6395 | 2018-03-28 | 83.65 |
| 1996 | 8300 | 2018-03-28 | 14.83 |
| 1997 | 8347 | 2018-03-28 | 96.57 |
| 1998 | 8517 | 2018-03-28 | 12.32 |
| 1999 | 9464 | 2018-03-28 | 62.78 |
2000 rows × 3 columns
import pandasql as ps
tab_full=ps.sqldf("""SELECT tab1.id_klienta, grupa, kwota_zakupu from tab1 left join tab2 on tab1.id_klienta=tab2.id_klienta
""")
tab_full
| id_klienta | grupa | kwota_zakupu | |
|---|---|---|---|
| 0 | 1 | Sent | NaN |
| 1 | 2 | Sent | NaN |
| 2 | 3 | Sent | 123.37 |
| 3 | 5 | Sent | NaN |
| 4 | 6 | Control | NaN |
| ... | ... | ... | ... |
| 1058 | 9973 | Control | 54.36 |
| 1059 | 9973 | Control | 141.19 |
| 1060 | 9974 | Control | 143.44 |
| 1061 | 9983 | Sent | 158.89 |
| 1062 | 9995 | Sent | 26.98 |
1063 rows × 3 columns
tab_full.grupa.value_counts()
Sent 754 Control 309 Name: grupa, dtype: int64
tab_full["kwota_zakupu"].groupby(tab_full["grupa"]).agg([np.min, np.max, np.mean])
| amin | amax | mean | |
|---|---|---|---|
| grupa | |||
| Control | 10.68 | 159.09 | 83.776074 |
| Sent | 10.18 | 159.36 | 87.434321 |
import numpy as np
import matplotlib.pyplot as plt
tab_full.hist(column="kwota_zakupu", by="grupa",facecolor="0.6", sharex=True)
plt.show()
tab2
| id_klienta | data_zakupu | kwota_zakupu | |
|---|---|---|---|
| 0 | 58 | 2018-01-02 | 142.96 |
| 1 | 151 | 2018-01-02 | 146.75 |
| 2 | 501 | 2018-01-02 | 156.84 |
| 3 | 1134 | 2018-01-02 | 60.31 |
| 4 | 2848 | 2018-01-02 | 146.58 |
| ... | ... | ... | ... |
| 1995 | 6395 | 2018-03-28 | 83.65 |
| 1996 | 8300 | 2018-03-28 | 14.83 |
| 1997 | 8347 | 2018-03-28 | 96.57 |
| 1998 | 8517 | 2018-03-28 | 12.32 |
| 1999 | 9464 | 2018-03-28 | 62.78 |
2000 rows × 3 columns
x = np.linspace(tab2["data_zakupu"])
y = kwota_zakupu
plt.show(x,y)
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12328/3871483246.py in <module> ----> 1 x = np.linspace(tab2["data_zakupu"]) 2 y = kwota_zakupu 3 plt.show(x,y) <__array_function__ internals> in linspace(*args, **kwargs) TypeError: _linspace_dispatcher() missing 1 required positional argument: 'stop'
sumy=tab2["kwota_zakupu"].groupby(tab2["data_zakupu"]).agg(np.sum)
plt.plot(sumy.index, sumy)
[<matplotlib.lines.Line2D at 0x2b70c3a3fd0>]
sumy_mies = tab2["kwota_zakupu"].groupby(tab2["data_zakupu"]).agg(np.sum)
data_zakupu
2018-01-02 2632.90
2018-01-03 2013.21
2018-01-04 2605.06
2018-01-05 2617.95
2018-01-06 2596.51
...
2018-03-24 1538.45
2018-03-25 2573.81
2018-03-26 1509.03
2018-03-27 3040.92
2018-03-28 1424.14
Name: kwota_zakupu, Length: 85, dtype: float64
sumy_mies=tab2.groupby(tab2.data_zakupu.dt.month)["kwota_zakupu"].sum()
mies = np.r_[1,2,3]
plt.bar(mies, sumy_mies, color=(0,0,0.5))
plt.xticks(mies,["Styczeń","Luty","Marzec"])
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_mies:
plt.text(0.82+i, m-4000, round(m), color="white")
i=i+1
help(pd.Grouper)
Help on class Grouper in module pandas.core.groupby.grouper:
class Grouper(builtins.object)
| Grouper(*args, **kwargs)
|
| A Grouper allows the user to specify a groupby instruction for an object.
|
| This specification will select a column via the key parameter, or if the
| level and/or axis parameters are given, a level of the index of the target
| object.
|
| If `axis` and/or `level` are passed as keywords to both `Grouper` and
| `groupby`, the values passed to `Grouper` take precedence.
|
| Parameters
| ----------
| key : str, defaults to None
| Groupby key, which selects the grouping column of the target.
| level : name/number, defaults to None
| The level for the target index.
| freq : str / frequency object, defaults to None
| This will groupby the specified frequency if the target selection
| (via key or level) is a datetime-like object. For full specification
| of available frequencies, please see `here
| <https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases>`_.
| axis : str, int, defaults to 0
| Number/name of the axis.
| sort : bool, default to False
| Whether to sort the resulting labels.
| closed : {'left' or 'right'}
| Closed end of interval. Only when `freq` parameter is passed.
| label : {'left' or 'right'}
| Interval boundary to use for labeling.
| Only when `freq` parameter is passed.
| convention : {'start', 'end', 'e', 's'}
| If grouper is PeriodIndex and `freq` parameter is passed.
| base : int, default 0
| Only when `freq` parameter is passed.
| For frequencies that evenly subdivide 1 day, the "origin" of the
| aggregated intervals. For example, for '5min' frequency, base could
| range from 0 through 4. Defaults to 0.
|
| .. deprecated:: 1.1.0
| The new arguments that you should use are 'offset' or 'origin'.
|
| loffset : str, DateOffset, timedelta object
| Only when `freq` parameter is passed.
|
| .. deprecated:: 1.1.0
| loffset is only working for ``.resample(...)`` and not for
| Grouper (:issue:`28302`).
| However, loffset is also deprecated for ``.resample(...)``
| See: :class:`DataFrame.resample`
|
| origin : Timestamp or str, default 'start_day'
| The timestamp on which to adjust the grouping. The timezone of origin must
| match the timezone of the index.
| If string, must be one of the following:
|
| - 'epoch': `origin` is 1970-01-01
| - 'start': `origin` is the first value of the timeseries
| - 'start_day': `origin` is the first day at midnight of the timeseries
|
| .. versionadded:: 1.1.0
|
| - 'end': `origin` is the last value of the timeseries
| - 'end_day': `origin` is the ceiling midnight of the last day
|
| .. versionadded:: 1.3.0
|
| offset : Timedelta or str, default is None
| An offset timedelta added to the origin.
|
| .. versionadded:: 1.1.0
|
| dropna : bool, default True
| If True, and if group keys contain NA values, NA values together with
| row/column will be dropped. If False, NA values will also be treated as
| the key in groups.
|
| .. versionadded:: 1.2.0
|
| Returns
| -------
| A specification for a groupby instruction
|
| Examples
| --------
| Syntactic sugar for ``df.groupby('A')``
|
| >>> df = pd.DataFrame(
| ... {
| ... "Animal": ["Falcon", "Parrot", "Falcon", "Falcon", "Parrot"],
| ... "Speed": [100, 5, 200, 300, 15],
| ... }
| ... )
| >>> df
| Animal Speed
| 0 Falcon 100
| 1 Parrot 5
| 2 Falcon 200
| 3 Falcon 300
| 4 Parrot 15
| >>> df.groupby(pd.Grouper(key="Animal")).mean()
| Speed
| Animal
| Falcon 200.0
| Parrot 10.0
|
| Specify a resample operation on the column 'Publish date'
|
| >>> df = pd.DataFrame(
| ... {
| ... "Publish date": [
| ... pd.Timestamp("2000-01-02"),
| ... pd.Timestamp("2000-01-02"),
| ... pd.Timestamp("2000-01-09"),
| ... pd.Timestamp("2000-01-16")
| ... ],
| ... "ID": [0, 1, 2, 3],
| ... "Price": [10, 20, 30, 40]
| ... }
| ... )
| >>> df
| Publish date ID Price
| 0 2000-01-02 0 10
| 1 2000-01-02 1 20
| 2 2000-01-09 2 30
| 3 2000-01-16 3 40
| >>> df.groupby(pd.Grouper(key="Publish date", freq="1W")).mean()
| ID Price
| Publish date
| 2000-01-02 0.5 15.0
| 2000-01-09 2.0 30.0
| 2000-01-16 3.0 40.0
|
| If you want to adjust the start of the bins based on a fixed timestamp:
|
| >>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'
| >>> rng = pd.date_range(start, end, freq='7min')
| >>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)
| >>> ts
| 2000-10-01 23:30:00 0
| 2000-10-01 23:37:00 3
| 2000-10-01 23:44:00 6
| 2000-10-01 23:51:00 9
| 2000-10-01 23:58:00 12
| 2000-10-02 00:05:00 15
| 2000-10-02 00:12:00 18
| 2000-10-02 00:19:00 21
| 2000-10-02 00:26:00 24
| Freq: 7T, dtype: int64
|
| >>> ts.groupby(pd.Grouper(freq='17min')).sum()
| 2000-10-01 23:14:00 0
| 2000-10-01 23:31:00 9
| 2000-10-01 23:48:00 21
| 2000-10-02 00:05:00 54
| 2000-10-02 00:22:00 24
| Freq: 17T, dtype: int64
|
| >>> ts.groupby(pd.Grouper(freq='17min', origin='epoch')).sum()
| 2000-10-01 23:18:00 0
| 2000-10-01 23:35:00 18
| 2000-10-01 23:52:00 27
| 2000-10-02 00:09:00 39
| 2000-10-02 00:26:00 24
| Freq: 17T, dtype: int64
|
| >>> ts.groupby(pd.Grouper(freq='17min', origin='2000-01-01')).sum()
| 2000-10-01 23:24:00 3
| 2000-10-01 23:41:00 15
| 2000-10-01 23:58:00 45
| 2000-10-02 00:15:00 45
| Freq: 17T, dtype: int64
|
| If you want to adjust the start of the bins with an `offset` Timedelta, the two
| following lines are equivalent:
|
| >>> ts.groupby(pd.Grouper(freq='17min', origin='start')).sum()
| 2000-10-01 23:30:00 9
| 2000-10-01 23:47:00 21
| 2000-10-02 00:04:00 54
| 2000-10-02 00:21:00 24
| Freq: 17T, dtype: int64
|
| >>> ts.groupby(pd.Grouper(freq='17min', offset='23h30min')).sum()
| 2000-10-01 23:30:00 9
| 2000-10-01 23:47:00 21
| 2000-10-02 00:04:00 54
| 2000-10-02 00:21:00 24
| Freq: 17T, dtype: int64
|
| To replace the use of the deprecated `base` argument, you can now use `offset`,
| in this example it is equivalent to have `base=2`:
|
| >>> ts.groupby(pd.Grouper(freq='17min', offset='2min')).sum()
| 2000-10-01 23:16:00 0
| 2000-10-01 23:33:00 9
| 2000-10-01 23:50:00 36
| 2000-10-02 00:07:00 39
| 2000-10-02 00:24:00 24
| Freq: 17T, dtype: int64
|
| Methods defined here:
|
| __init__(self, key=None, level=None, freq=None, axis: 'int' = 0, sort: 'bool' = False, dropna: 'bool' = True)
| Initialize self. See help(type(self)) for accurate signature.
|
| __repr__(self) -> 'str'
| Return repr(self).
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(cls, *args, **kwargs)
| Create and return a new object. See help(type) for accurate signature.
|
| ----------------------------------------------------------------------
| Readonly properties defined here:
|
| ax
|
| groups
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __annotations__ = {'_attributes': 'tuple[str, ...]', '_gpr_index': 'In...
sumy_tyg=tab2.groupby(pd.Grouper(key="data_zakupu", freq="SM"))["kwota_zakupu"].sum()
plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg:
plt.text(0.67+i, m-4000, round(m), color="white")
i=i+1
plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg:
plt.text(0.67+i, m-4000, round(m), color="white")
i=i+1
data_zakupu 2017-12-31 29741.83 2018-01-15 30607.34 2018-01-31 29465.56 2018-02-15 24595.88 2018-02-28 30551.89 2018-03-15 27182.94 Freq: SM-15, Name: kwota_zakupu, dtype: float64
tab_full_sent=ps.sqldf("""SELECT tab2.id_klienta, grupa, kwota_zakupu, data_zakupu from tab2 left join tab1 on tab1.id_klienta=tab2.id_klienta
where grupa="Sent"
""")
plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg:
plt.text(0.67+i, m-4000, round(m), color="white")
i=i+1
--------------------------------------------------------------------------- NameError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_10524/867989854.py in <module> ----> 1 plt.bar([1,2,3,4,5,6], sumy_tyg, color=(0.1,0.2,0.5)) 2 plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15) 3 plt.title("Suma sprzedaży dla danych miesięcy") 4 i=0 5 for m in sumy_tyg: NameError: name 'plt' is not defined
tab_full_sent["data_zakupu"]=tab_full_sent["data_zakupu"].str[0:10]
id_klienta int64 grupa object kwota_zakupu float64 data_zakupu object dtype: object
tab_full_sent["data_zakupu"]=pd.to_datetime(tab_full_sent["data_zakupu"])
tab_full_sent.dtypes
id_klienta int64 grupa object kwota_zakupu float64 data_zakupu datetime64[ns] dtype: object
sumy_tyg_sent=tab_full_sent.groupby(pd.Grouper(key="data_zakupu", freq="SM"))["kwota_zakupu"].sum()
plt.bar([1,2,3,4,5,6], sumy_tyg_sent, color=(0.3,0.4,0.6))
plt.xticks([1,2,3,4,5,6],["1-14.01","15-31.01","01-14.02","15-28.02","01-14.03","15-31.03"],rotation=15)
plt.title("Suma sprzedaży dla danych miesięcy")
i=0
for m in sumy_tyg_sent:
plt.text(0.71+i, m-4000, round(m), color="white")
i=i+1
# MACHINE LEARNING Z UDEMY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# Zaczynamy od załadowania bibliotek. Te najpopularniejsze to
# pandas - do pracy z danymi
# matplotlib - do rysowania wykresow
# sklearn - zawierający gotowe funkcje modelujące dane
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from mpl_toolkits.mplot3d import Axes3D
from sklearn.decomposition import PCA
# tutaj ładujemy dane do obiektu data frame z biblioteki pandas
# plik CSV nie posiada nagłówka dlatego header=None
# kolumnom nadajemy nazwy korzystając z parametru names
# W skryptach ML dane trzeba skądś pobrać, stad znajomość polecenia
# read_csv jest super przydatna
iris = pd.read_csv(r"C:\Users\igors\Downloads\iris\iris.data",
header = None,
names = ['petal length', 'petal width',
'sepal length', 'sepal width', 'species'])
# dalej przygotowujemy wykres - tutaj wyznaczenie wartości min i max dla
# 2 wybranych kolumn z rozmiarami kwiatów. Kiedy chcesz się odwołać do całej kolumny w data frame,
# to w nawiasie kwadratowym podajesz nazwę tej kolumny
x_min, x_max = iris['petal length'].min() - .5, iris['petal length'].max() + .5
y_min, y_max = iris['petal width'].min() - .5, iris['petal width'].max() + .5
# każdy gatunek ma być wyświetlony w innym kolorze - definiujemy słownik
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
# tworzymy obiekt odpowiedzialny za rysowany wykres i jego współrzędne
# instrukcje odtąd aż do plt.show() uruchom zaznaczając cały ten blok kodu
fig, ax = plt.subplots(figsize=(8, 6))
# grupujemy dane ze względu na gatunek i rysujemy dane. Korzystamy tu z metody groupby obiektu data frame
# funkcja zwraca klucz identyfikujący nazwę grupy (tutaj jest to nazwa gatunku kwiatu) oraz
# próbki wchodzące w skład tej grupy. To pozwala rysować każdą grupę w innym kolorze
for key, group in iris.groupby(by='species'):
plt.scatter(group['petal length'], group['petal width'],
c=colors[key], label=key)
#dodajemy legendę i opis osi
ax.legend()
plt.xlabel('petal length')
plt.ylabel('petal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
plt.show()
# teraz podobny wykres można sporządzić dla sepal
# pamiętaj o uruchomieniu mając zaznaczony blok kodu odtąd aż do plt.show()
# kroki są takie same jak w poprzednim przykładzie
x_min, x_max = iris['sepal length'].min() - .5, iris['sepal length'].max() + .5
y_min, y_max = iris['sepal width'].min() - .5, iris['sepal width'].max() + .5
colors = {'Iris-setosa':'red', 'Iris-versicolor':'blue', 'Iris-virginica':'green'}
fig, ax = plt.subplots(figsize=(8, 6))
for key, group in iris.groupby(by='species'):
# funkcja scatter przyjmuje argumenty - współrzędne X punktów, współrzędne Y punktów,
# kolor i nazwę rysowanej grupy
plt.scatter(group['sepal length'], group['sepal width'],
c=colors[key], label=key)
ax.legend()
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
ax.set_title("IRIS DATASET CATEGORIZED")
plt.show()
# utwórz wykres składający się z 4 małych wykresów
fig, ax = plt.subplots(2,2,figsize=(10, 6))
# aktualnie rysowanie odbędzie się w określonym pod-wykresie
plt_position = 1
# obrazujemy zależność miedzy tą zmienną, a pozostałymi cechami próbek
feature_x= 'petal width'
# dla każdej cechy opisującej kwiaty
for feature_y in iris.columns[:4]:
# wybierz kolejny pod wykres
plt.subplot(2, 2, plt_position)
# i rysuj osobne wykresy dla każdego gatunku (te 3 rysowane tu wykresy
# nakładają sie na siebie, co pozwala automatycznie generować legendę)
for species, color in colors.items():
# podczas rysowanie należy odfiltrować tylko kwiaty jednego gatunku
# zobacz jak filtrować dane. Służy do tego funkcja loc wywoływana dla data frame
# wyrażenie w nawiasie kwadratowym ma zwracać True/False. Zwrócone będą wiersze,
# gdzie wyrażenie ma wartość True. Po przecinku znajduje się nazwa kolumny, która ma być zwrócona
plt.scatter(iris.loc[iris['species']==species, feature_x],
iris.loc[iris['species']==species, feature_y],
label=species,
alpha = 0.45, # transparency
color=color)
# opisujemy wykres
plt.xlabel(feature_x)
plt.ylabel(feature_y)
plt.legend()
plt_position += 1
plt.show()
# Zamiast analizować każdą parę niezależnie można generować tzw. scatter matrix,
# czyli gotową macierz z wykresami dla każdej pary właściwości
# tutaj wykorzystujemy funkcję scatter_matrix zaimplementowaną w pandas...
# Do wyznaczenia koloru skorzystaliśmy z funkcji apply. Pozwala ona wywołać prostą funkcję na rzecz
# każdego wiersza z data frame lub serii danych
pd.plotting.scatter_matrix(iris, figsize=(8, 8),
color = iris['species'].apply(lambda x: colors[x]));
plt.show()
# ... a tutaj podobny wykres generowany przez funkcję pairplot z modułu seaborn
import seaborn as sns
sns.set()
sns.pairplot(iris, hue="species")
<seaborn.axisgrid.PairGrid at 0x2838c36e760>
#ZADANIE
import os.path
import pandas as pd
import matplotlib.pyplot as plt
auto = pd.read_csv(os.path.join(os.getcwd(),"Downloads","auto-mpg","auto-mpg.csv"))
auto
| mpg | cylinders | displacement | horsepower | weight | acceleration | model year | origin | car name | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 18.0 | 8 | 307.0 | 130 | 3504 | 12.0 | 70 | 1 | chevrolet chevelle malibu |
| 1 | 15.0 | 8 | 350.0 | 165 | 3693 | 11.5 | 70 | 1 | buick skylark 320 |
| 2 | 18.0 | 8 | 318.0 | 150 | 3436 | 11.0 | 70 | 1 | plymouth satellite |
| 3 | 16.0 | 8 | 304.0 | 150 | 3433 | 12.0 | 70 | 1 | amc rebel sst |
| 4 | 17.0 | 8 | 302.0 | 140 | 3449 | 10.5 | 70 | 1 | ford torino |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 393 | 27.0 | 4 | 140.0 | 86 | 2790 | 15.6 | 82 | 1 | ford mustang gl |
| 394 | 44.0 | 4 | 97.0 | 52 | 2130 | 24.6 | 82 | 2 | vw pickup |
| 395 | 32.0 | 4 | 135.0 | 84 | 2295 | 11.6 | 82 | 1 | dodge rampage |
| 396 | 28.0 | 4 | 120.0 | 79 | 2625 | 18.6 | 82 | 1 | ford ranger |
| 397 | 31.0 | 4 | 119.0 | 82 | 2720 | 19.4 | 82 | 1 | chevy s-10 |
398 rows × 9 columns
from sklearn.linear_model import LinearRegression
X=auto.iloc[:,1:-1].drop("horsepower", axis=1)
y=auto.loc[:,"mpg"]
lr = LinearRegression()
lr.fit(X,y)
lr.score(X,y)
0.8205585866916344
my_car1 = [4, 160, 190, 12, 90, 1]
my_car2 = [4, 200, 260, 15, 83, 1]
cars = [my_car1, my_car2]
lr.predict(cars)
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\base.py:450: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names warnings.warn(
array([52.23767295, 47.5274183 ])
# ZADANIE KOLEJNE
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
X, y = make_blobs(n_samples=100, centers=4, cluster_std=0.6, random_state=0)
plt.scatter(X[:,0],X[:,1])
<matplotlib.collections.PathCollection at 0x28390c96e80>
WCSS = []
for i in range(1,15):
kmeans = KMeans(n_clusters=i)
kmeans.fit(X)
WCSS.append(kmeans.inertia_)
plt.plot(range(1,15), WCSS)
plt.xlabel("Liczba clustrów")
plt.ylabel("WCSS")
#plt.grid() #usuwa siatkę
plt.show()
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn( C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn(
kmeans = KMeans(n_clusters=4, max_iter=300, random_state = 1)
clusters = kmeans.fit_predict(X)
labels = kmeans.labels_
centroids = kmeans.cluster_centers_
C:\Users\igors\miniconda3\envs\igorpython\lib\site-packages\sklearn\cluster\_kmeans.py:1332: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn(
h = 0.1
x_min, x_max = X[:,0].min(), X[:,0].max()
y_min, y_max = X[:,1].min(), X[:,1].max()
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = kmeans.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.figure(1 , figsize = (15 , 7) )
plt.imshow(Z , interpolation='nearest',
extent=(xx.min(), xx.max(), yy.min(), yy.max()),
cmap = plt.cm.Pastel1, origin='lower')
plt.scatter(x=X[:,0], y=X[:,1], c=labels, s=100)
plt.scatter(x=centroids[:,0], y=centroids[:,1],s=300 , c='red')
plt.ylabel('x') , plt.xlabel('y')
plt.grid()
plt.title("Clustering")
plt.show()
pip install missingno
Collecting missingnoNote: you may need to restart the kernel to use updated packages. Downloading missingno-0.5.1-py3-none-any.whl (8.7 kB) Requirement already satisfied: matplotlib in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (3.5.1) Requirement already satisfied: scipy in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (1.8.1) Requirement already satisfied: seaborn in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (0.11.2) Requirement already satisfied: numpy in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from missingno) (1.21.5) Requirement already satisfied: fonttools>=4.22.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (4.25.0) Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (1.4.2) Requirement already satisfied: packaging>=20.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (21.3) Requirement already satisfied: pyparsing>=2.2.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (3.0.4) Requirement already satisfied: python-dateutil>=2.7 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (2.8.2) Requirement already satisfied: pillow>=6.2.0 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (9.0.1) Requirement already satisfied: cycler>=0.10 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from matplotlib->missingno) (0.11.0) Requirement already satisfied: six>=1.5 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from python-dateutil>=2.7->matplotlib->missingno) (1.16.0) Requirement already satisfied: pandas>=0.23 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from seaborn->missingno) (1.4.1) Requirement already satisfied: pytz>=2020.1 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from pandas>=0.23->seaborn->missingno) (2021.3) Installing collected packages: missingno Successfully installed missingno-0.5.1
# KOLEJNE ZADANIE
# Loading common data related modules
import numpy as np
import pandas as pd
import math
import os
# Loading modelling algorithms
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import Lasso
from sklearn.linear_model import Ridge
from sklearn.neighbors import KNeighborsRegressor
from sklearn.ensemble import AdaBoostRegressor
from sklearn.ensemble import RandomForestRegressor
# Loading tools
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import r2_score
# Loading visualisation modules
import matplotlib.pyplot as plt
import seaborn as sns
import missingno as msno
# Configure visualisations
%matplotlib inline
# Ignore warning messages
import warnings
warnings.filterwarnings('ignore')
#-----------------------------------------------------------------------------
# Read data
diamonds = pd.read_csv(os.path.join(os.getcwd(),"Downloads","diamonds","diamonds.csv"))
#-----------------------------------------------------------------------------
# Review and clean the data (may be a repetitive task)
# remove unnecessary columns
diamonds.head()
diamonds.drop(['Unnamed: 0'] , axis=1 , inplace=True)
diamonds.head()
# review the data and get intuition about it
diamonds.shape
diamonds.info()
# find and eliminate nulls
diamonds.isnull().sum()
msno.matrix(diamonds, figsize=(10,4)) # just to visualize. no missing values.
# search for illogical values
diamonds.describe()
diamonds.loc[(diamonds['x']==0) | (diamonds['y']==0) | (diamonds['z']==0)]
len(diamonds[(diamonds['x']==0) | (diamonds['y']==0) | (diamonds['z']==0)])
diamonds = diamonds[(diamonds[['x','y','z']] != 0).all(axis=1)]
# always check after execution
diamonds.loc[(diamonds['x']==0) | (diamonds['y']==0) | (diamonds['z']==0)]
# Detect dependencies in the data
corr = diamonds.corr()
sns.heatmap(data=corr, square=True , annot=True, cbar=True)
sns.pairplot(diamonds)
#
# check distribution
sns.kdeplot(diamonds['carat'], shade=True , color='r')
plt.hist(diamonds['carat'], bins=25)
#
# check correlation graph
sns.jointplot(x='carat' , y='price' , data=diamonds , size=5)
#
# analyze feature by feature, create hypotesis, try to find evidence
sns.factorplot(x='cut', data=diamonds , kind='count',aspect=1.5)
sns.factorplot(x='cut', y='price', data=diamonds, kind='box' ,aspect=1.5)
#
sns.factorplot(x='color', data=diamonds , kind='count',aspect=1.5)
sns.factorplot(x='color', y='price' , data=diamonds , kind='violin',
aspect=1.5)
#
# try to use different visualisation methods
sns.factorplot(x='clarity', data=diamonds , kind='count',aspect=1.5)
sns.factorplot(x='clarity', y='price' , data=diamonds , kind='violin',
aspect=1.5)
#
labels = diamonds.clarity.unique().tolist()
sizes = diamonds.clarity.value_counts().tolist()
colors = ['#006400', '#E40E00', '#A00994', '#613205', '#FFED0D',
'#16F5A7','#ff9999','#66b3ff']
explode = (0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1)
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
autopct='%1.1f%%', shadow=True, startangle=0)
plt.axis('equal')
plt.title("Percentage of Clarity Categories")
plt.plot()
fig=plt.gcf()
fig.set_size_inches(6,6)
plt.show()
#
# try to find specific groups/classifications - repetitive process
sns.boxplot(x='clarity', y='price', data=diamonds)
#
plt.hist('depth' , data=diamonds , bins=25)
sns.jointplot(x='depth', y='price', data=diamonds, size=5)
#
sns.kdeplot(diamonds['table'] ,shade=True , color='orange')
sns.jointplot(x='table', y='price', data=diamonds , size=5)
<class 'pandas.core.frame.DataFrame'> RangeIndex: 53940 entries, 0 to 53939 Data columns (total 10 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 carat 53940 non-null float64 1 cut 53940 non-null object 2 color 53940 non-null object 3 clarity 53940 non-null object 4 depth 53940 non-null float64 5 table 53940 non-null float64 6 price 53940 non-null int64 7 x 53940 non-null float64 8 y 53940 non-null float64 9 z 53940 non-null float64 dtypes: float64(6), int64(1), object(3) memory usage: 4.1+ MB
<seaborn.axisgrid.JointGrid at 0x1cdf496f6a0>
#-----------------------------------------------------------------------------
# feature engineering - ananlyzing separately xyz doesn't make sense
sns.kdeplot(diamonds['x'] ,shade=True , color='r' )
sns.kdeplot(diamonds['y'] , shade=True , color='g' )
sns.kdeplot(diamonds['z'] , shade= True , color='b')
plt.xlim(2,10)
diamonds['volume'] = diamonds['x']*diamonds['y']*diamonds['z']
diamonds.head()
#
plt.figure(figsize=(5,5))
plt.hist( x=diamonds['volume'] , bins=30 ,color='g')
plt.xlabel('Volume in mm^3')
plt.ylabel('Frequency')
plt.title('Distribution of Diamond\'s Volume')
plt.xlim(0,1000)
plt.ylim(0,50000)
#
sns.jointplot(x='volume', y='price' , data=diamonds, size=5)
#
diamonds.drop(['x','y','z'], axis=1, inplace= True)
diamonds.head()
#
# One hot encoding
diamonds = pd.get_dummies(diamonds, prefix_sep='_', drop_first=True)
diamonds.head()
| carat | depth | table | price | volume | cut_Good | cut_Ideal | cut_Premium | cut_Very Good | color_E | ... | color_H | color_I | color_J | clarity_IF | clarity_SI1 | clarity_SI2 | clarity_VS1 | clarity_VS2 | clarity_VVS1 | clarity_VVS2 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0.23 | 61.5 | 55.0 | 326 | 38.202030 | 0 | 1 | 0 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 1 | 0.21 | 59.8 | 61.0 | 326 | 34.505856 | 0 | 0 | 1 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 2 | 0.23 | 56.9 | 65.0 | 327 | 38.076885 | 1 | 0 | 0 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 3 | 0.29 | 62.4 | 58.0 | 334 | 46.724580 | 0 | 0 | 1 | 0 | 0 | ... | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 4 | 0.31 | 63.3 | 58.0 | 335 | 51.917250 | 1 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
5 rows × 22 columns
#-----------------------------------------------------------------------------
# splitting data into features X, and labels y
X = diamonds.drop(['price'], axis=1)
y = diamonds['price']
#
# splitting data into train and test data
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2,
random_state=66)
#-----------------------------------------------------------------------------
# scaling values
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
X_train
#-----------------------------------------------------------------------------
# test different algorithms to get the data predictions
scores = []
models = ['Linear Regression', 'Lasso Regression', 'AdaBoost Regression',
'Ridge Regression', 'RandomForest Regression',
'KNeighbours Regression']
#-----------------------------------------------------------------------------
# Linear regression
lr = LinearRegression()
lr.fit(X_train , y_train)
y_pred = lr.predict(X_test)
r2 = r2_score(y_test, y_pred)
scores.append(r2)
print('Linear Regression R2: {0:.2f}'.format(r2))
# Lasso
lasso = Lasso(normalize=True)
lasso.fit(X_train , y_train)
y_pred = lasso.predict(X_test)
r2 = r2_score(y_test, y_pred)
scores.append(r2)
print('Lasso Regression R2: {0:.2f}'.format(r2))
# Adaboost classifier
adaboost = AdaBoostRegressor(n_estimators=1000)
adaboost.fit(X_train , y_train)
y_pred = adaboost.predict(X_test)
r2 = r2_score(y_test, y_pred)
scores.append(r2)
print('AdaBoost Regression R2: {0:.2f}'.format(r2))
# Ridge
ridge = Ridge(normalize=True)
ridge.fit(X_train , y_train)
y_pred = ridge.predict(X_test)
r2 = r2_score(y_test, y_pred)
scores.append(r2)
print('Ridge Regression R2: {0:.2f}'.format(r2))
# Random forest
randomforest = RandomForestRegressor()
randomforest .fit(X_train , y_train)
y_pred = randomforest .predict(X_test)
r2 = r2_score(y_test, y_pred)
scores.append(r2)
print('Random Forest R2: {0:.2f}'.format(r2))
# K-Neighbours
kneighbours = KNeighborsRegressor()
kneighbours.fit(X_train , y_train)
y_pred = kneighbours.predict(X_test)
r2 = r2_score(y_test, y_pred)
scores.append(r2)
print('K-Neighbours Regression R2: {0:.2f}'.format(r2))
#-----------------------------------------------------------------------------
ranking = pd.DataFrame({'Algorithms' : models , 'R2-Scores' : scores})
ranking = ranking.sort_values(by='R2-Scores' ,ascending=False)
ranking
sns.barplot(x='R2-Scores' , y='Algorithms' , data=ranking)
Linear Regression R2: 0.92 Lasso Regression R2: 0.86 AdaBoost Regression R2: 0.67 Ridge Regression R2: 0.76 Random Forest R2: 0.98 K-Neighbours Regression R2: 0.95
<AxesSubplot:xlabel='R2-Scores', ylabel='Algorithms'>
import numpy as np
a = np.arange(20)
a.shape
a[0]
a=a.reshape(2,10)
a[0]
a[0][4]
a=a.reshape(2,5,2)
a[0][4][1]
9
b=np.arange(0,40,2).reshape(4,5)
b
array([[ 0, 2, 4, 6, 8],
[10, 12, 14, 16, 18],
[20, 22, 24, 26, 28],
[30, 32, 34, 36, 38]])
a_python_list = [2**x for x in range(10)]
a_python_list
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
c=np.array(a_python_list)
c
array([ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512])
print("zeros: ",np.zeros(10))
print("ones: ",np.ones(10))
print("empty: ",np.empty(10))
print("lucky: \n",np.full((5,5),13))
print("na diagonali: \n", np.eye(5))
print("random: \n", np.random.random(10))
print("linspace: \n", np.linspace(100,200,5))
zeros: [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] ones: [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.] empty: [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.] lucky: [[13 13 13 13 13] [13 13 13 13 13] [13 13 13 13 13] [13 13 13 13 13] [13 13 13 13 13]] na diagonali: [[1. 0. 0. 0. 0.] [0. 1. 0. 0. 0.] [0. 0. 1. 0. 0.] [0. 0. 0. 1. 0.] [0. 0. 0. 0. 1.]] random: [0.73441699 0.42617961 0.96343171 0.32520493 0.36189128 0.55651715 0.16301006 0.84067554 0.49265016 0.246515 ] linspace: [100. 125. 150. 175. 200.]
#KOLEJNE ZADANIE
import numpy as np
arr = np.array(np.arange(5,30))
arr
array([ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29])
boolArr = arr<10
boolArr
array([ True, True, True, True, True, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False])
arr[boolArr]
array([5, 6, 7, 8, 9])
arr[arr<20]
array([ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
arr[arr%3==0]
array([ 6, 9, 12, 15, 18, 21, 24, 27])
arr[(arr>10) & (arr<20)]
array([11, 12, 13, 14, 15, 16, 17, 18, 19])
macierz_arr=arr.reshape(5,5)
macierz_arr[1]
array([10, 11, 12, 13, 14])
macierz_arr[1][2]
12
macierz_arr[1][2:4]
array([12, 13])
macierz_arr[1,0:]
array([10, 11, 12, 13, 14])
macierz_arr[:,2]
array([ 7, 12, 17, 22, 27])
macierz_arr[0:3,2]
array([ 7, 12, 17])
macierz_arr[:3,2:4]
array([[ 7, 8],
[12, 13],
[17, 18]])
macierz_arr[:,-1]
array([ 9, 14, 19, 24, 29])
macierz_arr[:,:-1]
array([[ 5, 6, 7, 8],
[10, 11, 12, 13],
[15, 16, 17, 18],
[20, 21, 22, 23],
[25, 26, 27, 28]])
arr = np.arange(0,50).reshape(10,5)
arr
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29],
[30, 31, 32, 33, 34],
[35, 36, 37, 38, 39],
[40, 41, 42, 43, 44],
[45, 46, 47, 48, 49]])
split_level = 0.2
num_rows = arr.shape[0]
split_border = split_level * num_rows
np.random.shuffle(arr) #wymieszanie wartości
X_test = arr[:round(split_border),:]
X_train = arr[round(split_border):,:]
X_train
array([[30, 31, 32, 33, 34],
[10, 11, 12, 13, 14],
[25, 26, 27, 28, 29],
[15, 16, 17, 18, 19],
[45, 46, 47, 48, 49],
[ 5, 6, 7, 8, 9],
[40, 41, 42, 43, 44],
[20, 21, 22, 23, 24]])
arr2 = np.arange(0,500).reshape(100,5)
split_level = 0.2
num_rows = arr2.shape[0]
split_border=round(split_level*num_rows)
X_test = arr2[:split_border,:-1]
X_train = arr2[split_border:,:-1]
y_test = arr2[:split_border,-1]
y_train = arr2[split_border:,-1]
y_test
array([ 4, 9, 14, 19, 24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84,
89, 94, 99])
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(arr2[:,:-1], arr2[:,-1], test_size=0.2, shuffle=True )
y_test
array([249, 19, 474, 304, 409, 244, 274, 229, 414, 29, 214, 139, 254,
384, 269, 444, 454, 14, 94, 419])
# NEXT NEXT ZADANIE
X = np.arange(1,26).reshape(5,5)
X
array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25]])
Ones = np.ones(25).reshape(5,5)
Ones
array([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
np.dot(X, Ones)
array([[ 15., 15., 15., 15., 15.],
[ 40., 40., 40., 40., 40.],
[ 65., 65., 65., 65., 65.],
[ 90., 90., 90., 90., 90.],
[115., 115., 115., 115., 115.]])
diag = np.zeros(25).reshape(5,5)
np.fill_diagonal(diag,1)
diag
array([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
np.dot(X, diag)
array([[ 1., 2., 3., 4., 5.],
[ 6., 7., 8., 9., 10.],
[11., 12., 13., 14., 15.],
[16., 17., 18., 19., 20.],
[21., 22., 23., 24., 25.]])
np.where(X>10, 1, 0)
array([[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])
np.where(X%2==0,1,0)
array([[0, 1, 0, 1, 0],
[1, 0, 1, 0, 1],
[0, 1, 0, 1, 0],
[1, 0, 1, 0, 1],
[0, 1, 0, 1, 0]])
np.where(X%2==0,X,X+1)
array([[ 2, 2, 4, 4, 6],
[ 6, 8, 8, 10, 10],
[12, 12, 14, 14, 16],
[16, 18, 18, 20, 20],
[22, 22, 24, 24, 26]])
X_bis = np.where(X>10,2*X,0)
X_bis
array([[ 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0],
[22, 24, 26, 28, 30],
[32, 34, 36, 38, 40],
[42, 44, 46, 48, 50]])
np.count_nonzero(X_bis)
15
x = np.array([[10,20,30], [40,50,60]])
y = np.array([[100], [200]])
np.append(x,y,axis=1)
array([[ 10, 20, 30, 100],
[ 40, 50, 60, 200]])
x = np.array([[10,20,30], [40,50,60]])
y = np.array([[100, 200, 300]])
print(np.append(x, y, axis=0))
[[ 10 20 30] [ 40 50 60] [100 200 300]]
x = np.array([[10,20,30], [40,50,60]])
print(np.append(x, x, axis=0))
[[10 20 30] [40 50 60] [10 20 30] [40 50 60]]
# NEXTOWE ZADANIE
import numpy as np
X = np.arange(-25,25).reshape(10,5)
X
array([[-25, -24, -23, -22, -21],
[-20, -19, -18, -17, -16],
[-15, -14, -13, -12, -11],
[-10, -9, -8, -7, -6],
[ -5, -4, -3, -2, -1],
[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[ 10, 11, 12, 13, 14],
[ 15, 16, 17, 18, 19],
[ 20, 21, 22, 23, 24]])
ones = np.ones(10).reshape(10,1)
ones
array([[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.]])
X_1 = np.append(X, ones, axis=1)
X_1
array([[-25., -24., -23., -22., -21., 1.],
[-20., -19., -18., -17., -16., 1.],
[-15., -14., -13., -12., -11., 1.],
[-10., -9., -8., -7., -6., 1.],
[ -5., -4., -3., -2., -1., 1.],
[ 0., 1., 2., 3., 4., 1.],
[ 5., 6., 7., 8., 9., 1.],
[ 10., 11., 12., 13., 14., 1.],
[ 15., 16., 17., 18., 19., 1.],
[ 20., 21., 22., 23., 24., 1.]])
w = np.random.rand(X_1.shape[1])
w
array([0.32798675, 0.86786382, 0.28308145, 0.69795993, 0.36987638,
0.61117309])
def predict(x, w):
total_stimulation=np.dot(x,w)
if total_stimulation>0:
return 1
else:
return -1
predict(X_1[0,],w)
-1
for x in X_1:
predict(x,w)
print(predict(x,w))
-1 -1 -1 -1 -1 1 1 1 1 1
# PERCEPTRON - ciąg dalszy poprzedniego
import numpy as np
y = np.array([1, -1, -1, 1, -1, 1, -1, -1, 1, -1])
eta = 0.01
epochs=2
for i in range(epochs):
for x, y_target in zip(X_1, y):
y_pred=predict(x,w)
delta_w = eta * (y_target - y_pred) * x
w += delta_w
print(w)
[-0.17201325 0.26786382 -0.41691855 -0.10204007 -0.53012362 0.51117309] [ 0.22798675 0.64786382 -0.05691855 0.23795993 -0.21012362 0.49117309] [ 0.22798675 0.64786382 -0.05691855 0.23795993 -0.21012362 0.49117309] [ 0.02798675 0.46786382 -0.21691855 0.09795993 -0.33012362 0.51117309] [ 0.02798675 0.46786382 -0.21691855 0.09795993 -0.33012362 0.51117309] [ 0.02798675 0.48786382 -0.17691855 0.15795993 -0.25012362 0.53117309] [-0.07201325 0.36786382 -0.31691855 -0.00204007 -0.43012362 0.51117309] [-0.07201325 0.36786382 -0.31691855 -0.00204007 -0.43012362 0.51117309] [ 0.22798675 0.68786382 0.02308145 0.35795993 -0.05012362 0.53117309] [-0.17201325 0.26786382 -0.41691855 -0.10204007 -0.53012362 0.51117309] [-0.17201325 0.26786382 -0.41691855 -0.10204007 -0.53012362 0.51117309] [ 0.22798675 0.64786382 -0.05691855 0.23795993 -0.21012362 0.49117309] [ 0.22798675 0.64786382 -0.05691855 0.23795993 -0.21012362 0.49117309] [ 0.02798675 0.46786382 -0.21691855 0.09795993 -0.33012362 0.51117309] [ 0.02798675 0.46786382 -0.21691855 0.09795993 -0.33012362 0.51117309] [ 0.02798675 0.48786382 -0.17691855 0.15795993 -0.25012362 0.53117309] [-0.07201325 0.36786382 -0.31691855 -0.00204007 -0.43012362 0.51117309] [-0.07201325 0.36786382 -0.31691855 -0.00204007 -0.43012362 0.51117309] [ 0.22798675 0.68786382 0.02308145 0.35795993 -0.05012362 0.53117309] [-0.17201325 0.26786382 -0.41691855 -0.10204007 -0.53012362 0.51117309]
import numpy as np
import matplotlib.pyplot as plt
class Perceptron:
def __init__(self, eta=0.10, epochs=50):
self.eta = eta
self.epochs = epochs
def predict(self, x):
total_stimulation = np.dot(x, self.w)
y_pred = 1 if total_stimulation > 0 else -1
return y_pred
def fit(self, X, y):
ones = np.ones((X.shape[0], 1))
X_1 = np.append(X.copy(), ones, axis=1)
self.w = np.random.rand(X_1.shape[1])
for e in range(self, epochs):
for x, y_target in zip(X_1,y):
y_pred = self.predict(x)
delta_w = self.eta * (y_target - y_pred) * x
self.w += delta_w
#32LAB
import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
num_iterations = 30
time_results_loop = []
for iteration in range(1, num_iterations+1):
start_time = time.time()
data = np.arange(0,10000*iteration, 1)
my_sum = 0
for i in data:
my_sum += i
end_time = time.time()
time_results_loop.append(end_time - start_time)
time_results_np = []
for iteration in range(1, num_iterations+1):
start_time = time.time()
data = np.arange(0,10000*iteration, 1)
my_sum = np.sum(data)
end_time = time.time()
time_results_np.append(end_time - start_time)
print(np.sum(time_results_loop))
print(np.sum(time_results_np))
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/1913157956.py:20: RuntimeWarning: overflow encountered in long_scalars my_sum += i
1.175290584564209 0.010973691940307617
fig = plt.figure()
plt.scatter(range(num_iterations), time_results_loop, s=20, c='b', marker="s", label='loop')
plt.scatter(range(num_iterations), time_results_np, s=20, c='r', marker="o", label='numpy')
plt.legend(loc='upper left');
plt.show()
#32 LAB CIAG DALSZY
import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
num_iterations = 10
time_results_loop = []
for iteration in range(1, num_iterations+1):
start_time = time.time()
data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
my_sum = 0
for i in range(data3.shape[0]):
for j in range(data3.shape[1]):
data3[i,j]=data2[i,j]+data1[i,j]
end_time = time.time()
time_results_loop.append(end_time - start_time)
time_results_loop
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/4149814616.py:17: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/4149814616.py:18: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/4149814616.py:19: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
[0.0, 0.0009968280792236328, 0.000997304916381836, 0.001996755599975586, 0.003988504409790039, 0.006017923355102539, 0.004952907562255859, 0.005982875823974609, 0.00997614860534668, 0.008974552154541016]
time_results_np = []
for iteration in range(1, num_iterations+1):
start_time = time.time()
data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
data3 = data1+data2
end_time = time.time()
time_results_np.append(end_time - start_time)
time_results_np
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2608938932.py:7: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2608938932.py:8: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2608938932.py:9: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
[0.0010273456573486328, 0.0, 0.0, 0.0, 0.0009691715240478516, 0.0, 0.0, 0.0009961128234863281, 0.0, 0.0]
#mnożenie macierzy ręczne
import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
num_iterations = 10
time_results_loop = []
for iteration in range(1, num_iterations+1):
start_time = time.time()
data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
my_sum = 0
for i in range(data3.shape[0]):
for j in range(data3.shape[1]):
data3[i,j]=sum([data1[i,v]*data2[v,j] for v in range(data1.shape[1])])
end_time = time.time()
time_results_loop.append(end_time - start_time)
time_results_loop
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2892219516.py:14: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2892219516.py:15: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/2892219516.py:16: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
[0.0009984970092773438, 0.0059833526611328125, 0.028923988342285156, 0.03989267349243164, 0.08628249168395996, 0.140625, 0.2585134506225586, 0.294619083404541, 0.4837043285369873, 0.6293714046478271]
#mnożenie macierzy automat
time_results_np = []
for iteration in range(1, num_iterations+1):
start_time = time.time()
data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float)
data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
data3 = data1.dot(data2)
end_time = time.time()
time_results_np.append(end_time - start_time)
time_results_np
C:\Users\igors\AppData\Local\Temp/ipykernel_13736/425375555.py:9: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data1 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/425375555.py:10: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data2 = np.ones(shape=(10*iteration, 10*iteration), dtype=np.float) C:\Users\igors\AppData\Local\Temp/ipykernel_13736/425375555.py:11: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations data3 = np.zeros(shape=(10*iteration, 10*iteration), dtype=np.float)
[0.0009980201721191406, 0.0, 0.0, 0.000997781753540039, 0.0, 0.0, 0.000997781753540039, 0.0, 0.0, 0.0009961128234863281]
import numpy as np
data = np.array([[10, 7, 4], [3, 2, 1]])
np.mean(data,axis=0)
array([6.5, 4.5, 2.5])
np.average(data,axis=0, weights=[1,3])
array([4.75, 3.25, 1.75])
np.var(data, axis=1)
array([6. , 0.66666667])
np.std(data,axis=0)
array([3.5, 2.5, 1.5])
data = np.zeros((2, 1000000))
data[0, :] = 1.0
data[1, :] = 0.1
np.mean(data, dtype=np.float32)
np.mean(data, dtype=np.float64)
0.5499999999999972
data = np.zeros((2, 10))
data[0, :] = 1.0
data[1, :] = 0.1
np.mean(data, dtype=np.float32)
np.mean(data, dtype=np.float64)
0.55
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.model_selection import train_test_split
%matplotlib inline
class Perceptron:
def __init__(self, eta=0.10, epochs=50, is_verbose = False):
self.eta = eta
self.epochs = epochs
self.is_verbose = is_verbose
self.list_of_errors = []
def predict(self, x):
ones = np.ones((x.shape[0],1))
x_1 = np.append(x.copy(), ones, axis=1)
#activation = self.get_activation(x_1)
#y_pred = np.where(activation >0, 1, -1)
#return y_pred
return np.where(self.get_activation(x_1) > 0, 1, -1)
def get_activation(self, x):
activation = np.dot(x, self.w)
return activation
def fit(self, X, y):
self.list_of_errors = []
ones = np.ones((X.shape[0], 1))
X_1 = np.append(X.copy(), ones, axis=1)
self.w = np.random.rand(X_1.shape[1])
for e in range(self.epochs):
error = 0
activation = self.get_activation(X_1)
delta_w = self.eta * np.dot((y - activation), X_1)
self.w += delta_w
error = np.square(y - activation).sum()/2.0
self.list_of_errors.append(error)
if(self.is_verbose):
print("Epoch: {}, weights: {}, error {}".format(
e, self.w, error))
X = np.array([
[2., 4., 20.], # 2*2 - 4*4 + 20 = 8 > 0
[4., 3., -10.], # 2*4 - 4*3 - 10 = -14 < 0
[5., 6., 13.], # 2*5 - 4*6 + 13 = -1 < 0
[5., 4., 8.], # 2*5 - 4*4 + 8 = 2 > 0
[3., 4., 5.], # 2*3 - 4*4 + 5 = -5 < 0
])
y = np.array([1, -1, -1, 1, -1])
perceptron = Perceptron(eta=0.0001, epochs=100, is_verbose=True)
perceptron.fit(X, y)
plt.scatter(range(perceptron.epochs), perceptron.list_of_errors)
df = pd.read_csv(r"C:\Users\igors\Downloads\iris\iris.data", header = None)
df = df.iloc[:100, :].copy()
df[4] = df[4].apply(lambda x: 1 if x == 'Iris-setosa' else -1)
df
X = df.iloc[0:100, :-1].values
y = df[4].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
p = Perceptron(eta = 0.0001, epochs=100)
p.fit(X_train, y_train)
y_pred = p.predict(X_test)
plt.scatter(range(p.epochs), p.list_of_errors)
Epoch: 0, weights: [0.3170976 0.67746751 0.61911329 0.17319946], error 341.34967267358303 Epoch: 1, weights: [0.30077886 0.6565591 0.5575614 0.16875889], error 289.96237910197533 Epoch: 2, weights: [0.28550754 0.63709622 0.5012633 0.16461703], error 246.7043285852206 Epoch: 3, weights: [0.27119991 0.61896162 0.4497811 0.16074981], error 210.28201413946314 Epoch: 4, weights: [0.25777915 0.60204781 0.40271329 0.15713512], error 179.60790255437354 Epoch: 5, weights: [0.24517478 0.58625615 0.35969172 0.15375271], error 153.7676326680422 Epoch: 6, weights: [0.23332217 0.5714962 0.32037887 0.15058397], error 131.99243744471994 Epoch: 7, weights: [0.222162 0.557685 0.28446525 0.14761186], error 113.63595794308854 Epoch: 8, weights: [0.21163986 0.54474644 0.25166711 0.14482073], error 98.15474974826537 Epoch: 9, weights: [0.20170582 0.53261072 0.22172428 0.14219624], error 85.09189382739204 Epoch: 10, weights: [0.19231407 0.52121381 0.19439821 0.13972521], error 74.06321741651476 Epoch: 11, weights: [0.18342258 0.51049695 0.16947019 0.13739557], error 64.74570928050406 Epoch: 12, weights: [0.17499277 0.50040627 0.14673971 0.13519623], error 56.867779883079265 Epoch: 13, weights: [0.16698925 0.49089232 0.12602291 0.13311703], error 50.20107265743704 Epoch: 14, weights: [0.15937952 0.48190976 0.10715122 0.13114864], error 44.55357935837441 Epoch: 15, weights: [0.15213376 0.47341695 0.08997009 0.12928249], error 39.763851815623134 Epoch: 16, weights: [0.14522461 0.46537572 0.07433783 0.12751072], error 35.696135482064356 Epoch: 17, weights: [0.13862693 0.45775103 0.06012453 0.12582614], error 32.23627797727998 Epoch: 18, weights: [0.13231766 0.45051073 0.04721107 0.12422211], error 29.28828920533693 Epoch: 19, weights: [0.1262756 0.44362531 0.03548827 0.12269256], error 26.771449281025458 Epoch: 20, weights: [0.12048132 0.43706769 0.024856 0.12123192], error 24.6178770239053 Epoch: 21, weights: [0.11491695 0.43081302 0.01522249 0.11983506], error 22.770485672949064 Epoch: 22, weights: [0.10956609 0.42483848 0.00650358 0.1184973 ], error 21.181264155420166 Epoch: 23, weights: [ 0.10441365 0.41912313 -0.00137787 0.1172143 ], error 19.80983206424676 Epoch: 24, weights: [ 0.0994458 0.41364775 -0.00849258 0.11598211], error 18.622224754801326 Epoch: 25, weights: [ 0.09464981 0.40839467 -0.01490538 0.11479708], error 17.589871913738467 Epoch: 26, weights: [ 0.09001399 0.40334769 -0.02067573 0.11365588], error 16.688738788784374 Epoch: 27, weights: [ 0.08552759 0.39849193 -0.0258581 0.11255543], error 15.898604175166778 Epoch: 28, weights: [ 0.08118073 0.39381371 -0.03050244 0.1114929 ], error 15.20245337974169 Epoch: 29, weights: [ 0.07696433 0.38930047 -0.03465454 0.11046571], error 14.585967852258904 Epoch: 30, weights: [ 0.07287001 0.38494067 -0.03835638 0.10947147], error 14.037096089238865 Epoch: 31, weights: [ 0.06889011 0.38072371 -0.04164644 0.10850799], error 13.545692867574031 Epoch: 32, weights: [ 0.06501753 0.37663985 -0.04455998 0.10757325], error 13.10321592617458 Epoch: 33, weights: [ 0.06124578 0.37268013 -0.04712932 0.10666541], error 12.702470946929088 Epoch: 34, weights: [ 0.05756885 0.36883632 -0.04938411 0.10578274], error 12.337397143222038 Epoch: 35, weights: [ 0.05398122 0.36510085 -0.05135149 0.1049237 ], error 12.002886989192586 Epoch: 36, weights: [ 0.0504778 0.36146676 -0.05305636 0.10408683], error 11.694634652784117 Epoch: 37, weights: [ 0.04705391 0.35792763 -0.05452154 0.1032708 ], error 11.409008561489387 Epoch: 38, weights: [ 0.04370522 0.35447758 -0.05576792 0.10247439], error 11.142944257659714 Epoch: 39, weights: [ 0.04042775 0.35111118 -0.05681468 0.10169647], error 10.893854312279727 Epoch: 40, weights: [ 0.03721781 0.34782344 -0.05767937 0.10093601], error 10.659552580672859 Epoch: 41, weights: [ 0.03407201 0.34460976 -0.05837808 0.10019205], error 10.438190516220539 Epoch: 42, weights: [ 0.03098722 0.3414659 -0.05892555 0.09946369], error 10.228203621899345 Epoch: 43, weights: [ 0.02796052 0.33838796 -0.0593353 0.09875014], error 10.02826642523776 Epoch: 44, weights: [ 0.02498925 0.33537233 -0.05961969 0.09805063], error 9.837254619391931 Epoch: 45, weights: [ 0.02207092 0.33241571 -0.05979007 0.09736448], error 9.654213229193957 Epoch: 46, weights: [ 0.01920324 0.32951502 -0.05985683 0.09669103], error 9.47832984275657 Epoch: 47, weights: [ 0.01638408 0.32666743 -0.05982948 0.0960297 ], error 9.308912102007636 Epoch: 48, weights: [ 0.01361147 0.32387034 -0.05971674 0.09537994], error 9.145368773984561 Epoch: 49, weights: [ 0.01088358 0.32112134 -0.05952658 0.09474124], error 8.987193832718678 Epoch: 50, weights: [ 0.00819872 0.31841819 -0.05926632 0.09411313], error 8.83395307233973 Epoch: 51, weights: [ 0.0055553 0.31575882 -0.05894265 0.09349518], error 8.685272848370829 Epoch: 52, weights: [ 0.00295186 0.31314134 -0.05856171 0.09288698], error 8.540830608366688 Epoch: 53, weights: [ 0.00038704 0.31056397 -0.05812909 0.09228815], error 8.40034692700928 Epoch: 54, weights: [-0.00214044 0.30802507 -0.05764994 0.09169835], error 8.263578806142835 Epoch: 55, weights: [-0.00463176 0.30552312 -0.05712895 0.09111726], error 8.130314038372779 Epoch: 56, weights: [-0.00708804 0.30305671 -0.05657043 0.09054456], error 8.000366464921731 Epoch: 57, weights: [-0.0095103 0.30062453 -0.05597832 0.08997999], error 7.8735719853969846 Epoch: 58, weights: [-0.01189951 0.29822536 -0.05535621 0.08942328], error 7.7497851997917175 Epoch: 59, weights: [-0.01425658 0.29585806 -0.05470739 0.08887419], error 7.628876582099887 Epoch: 60, weights: [-0.01658236 0.29352158 -0.05403489 0.08833249], error 7.510730100947692 Epoch: 61, weights: [-0.01887765 0.29121494 -0.05334144 0.08779796], error 7.395241216115504 Epoch: 62, weights: [-0.0211432 0.2889372 -0.05262957 0.0872704 ], error 7.2823151911501105 Epoch: 63, weights: [-0.02337971 0.28668753 -0.05190157 0.08674964], error 7.17186567178921 Epoch: 64, weights: [-0.02558786 0.2844651 -0.05115955 0.08623549], error 7.063813487925847 Epoch: 65, weights: [-0.02776826 0.28226917 -0.05040542 0.08572778], error 6.958085643571369 Epoch: 66, weights: [-0.02992151 0.28009904 -0.04964094 0.08522637], error 6.854614464934343 Epoch: 67, weights: [-0.03204819 0.27795404 -0.04886769 0.08473111], error 6.753336881490687 Epoch: 68, weights: [-0.0341488 0.27583354 -0.04808715 0.08424186], error 6.654193818920303 Epoch: 69, weights: [-0.03622388 0.27373697 -0.04730063 0.08375848], error 6.557129686148659 Epoch: 70, weights: [-0.03827389 0.27166377 -0.04650935 0.08328086], error 6.4620919415591285 Epoch: 71, weights: [-0.04029929 0.26961342 -0.04571442 0.08280888], error 6.369030725819355 Epoch: 72, weights: [-0.04230052 0.26758543 -0.04491683 0.08234243], error 6.277898550763404 Epoch: 73, weights: [-0.04427799 0.26557934 -0.04411749 0.0818814 ], error 6.188650035451943 Epoch: 74, weights: [-0.04623211 0.26359469 -0.04331725 0.08142569], error 6.10124168194554 Epoch: 75, weights: [-0.04816325 0.26163108 -0.04251686 0.08097522], error 6.015631684513934 Epoch: 76, weights: [-0.05007179 0.25968811 -0.04171699 0.08052987], error 5.931779767002855 Epoch: 77, weights: [-0.05195807 0.25776539 -0.04091827 0.08008958], error 5.849647043919653 Epoch: 78, weights: [-0.05382243 0.25586257 -0.04012127 0.07965426], error 5.769195901504952 Epoch: 79, weights: [-0.05566519 0.2539793 -0.03932649 0.07922382], error 5.690389895651038 Epoch: 80, weights: [-0.05748667 0.25211525 -0.0385344 0.07879819], error 5.613193664026833 Epoch: 81, weights: [-0.05928718 0.25027011 -0.0377454 0.07837729], error 5.537572850188849 Epoch: 82, weights: [-0.061067 0.24844358 -0.03695987 0.07796107], error 5.463494037810267 Epoch: 83, weights: [-0.06282641 0.24663537 -0.03617815 0.07754944], error 5.39092469345699 Epoch: 84, weights: [-0.0645657 0.24484519 -0.03540055 0.07714234], error 5.319833116588845 Epoch: 85, weights: [-0.06628512 0.24307278 -0.03462732 0.07673971], error 5.2501883956738435 Epoch: 86, weights: [-0.06798495 0.24131787 -0.03385872 0.07634149], error 5.181960369479716 Epoch: 87, weights: [-0.06966542 0.23958023 -0.03309496 0.07594761], error 5.115119592755217 Epoch: 88, weights: [-0.07132678 0.23785961 -0.03233623 0.07555803], error 5.049637305638314 Epoch: 89, weights: [-0.07296927 0.23615578 -0.03158271 0.07517267], error 4.985485406233238 Epoch: 90, weights: [-0.07459313 0.23446851 -0.03083453 0.0747915 ], error 4.9226364258865045 Epoch: 91, weights: [-0.07619857 0.23279757 -0.03009184 0.07441445], error 4.861063506766129 Epoch: 92, weights: [-0.07778583 0.23114276 -0.02935475 0.07404148], error 4.800740381410607 Epoch: 93, weights: [-0.07935511 0.22950388 -0.02862334 0.07367253], error 4.7416413539666395 Epoch: 94, weights: [-0.08090664 0.22788071 -0.02789772 0.07330755], error 4.683741282878665 Epoch: 95, weights: [-0.08244061 0.22627307 -0.02717796 0.0729465 ], error 4.627015564830373 Epoch: 96, weights: [-0.08395723 0.22468076 -0.0264641 0.07258933], error 4.571440119769502 Epoch: 97, weights: [-0.0854567 0.22310359 -0.02575621 0.072236 ], error 4.516991376873514 Epoch: 98, weights: [-0.08693922 0.22154139 -0.02505433 0.07188645], error 4.4636462613357715 Epoch: 99, weights: [-0.08840497 0.21999397 -0.02435847 0.07154065], error 4.41138218187043
<matplotlib.collections.PathCollection at 0x29b810018e0>
#DANE O RAKU PIERSI
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.model_selection import train_test_split
%matplotlib inline
class Perceptron:
def __init__(self, eta=0.10, epochs=50, is_verbose = False):
self.eta = eta
self.epochs = epochs
self.is_verbose = is_verbose
self.list_of_errors = []
def predict(self, x):
ones = np.ones((x.shape[0],1))
x_1 = np.append(x.copy(), ones, axis=1)
#activation = self.get_activation(x_1)
#y_pred = np.where(activation >0, 1, -1)
#return y_pred
return np.where(self.get_activation(x_1) > 0, 1, -1)
def get_activation(self, x):
activation = np.dot(x, self.w)
return activation
def fit(self, X, y):
self.list_of_errors = []
ones = np.ones((X.shape[0], 1))
X_1 = np.append(X.copy(), ones, axis=1)
self.w = np.random.rand(X_1.shape[1])
for e in range(self.epochs):
error = 0
activation = self.get_activation(X_1)
delta_w = self.eta * np.dot((y - activation), X_1)
self.w += delta_w
error = np.square(y - activation).sum()/2.0
self.list_of_errors.append(error)
if(self.is_verbose):
print("Epoch: {}, weights: {}, error {}".format(
e, self.w, error))
diag = pd.read_csv(r"C:\Users\igors\Downloads\breast_cancer\breast_cancer.csv")
X=diag[['area_mean','area_se', 'texture_mean', 'concavity_worst', 'concavity_mean']]
y=diag["diagnosis"]
y=y.apply(lambda n: 1 if n == "M" else -1)
perceptron = Perceptron(eta=0.0000001, epochs=100)
perceptron.fit(X, y)
plt.scatter(range(perceptron.epochs), perceptron.list_of_errors)
<matplotlib.collections.PathCollection at 0x1d39448b9a0>
#cd wyzszego
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X)
X_std = scaler.transform(X)
X_train, X_test, y_train, y_test = train_test_split(X_std, y, test_size = 0.2)
y_pred = perceptron.predict(X_test)
good = y_test[y_test == y_pred].count()
total = y_test.count()
print('result: {}'.format(100*good/total))
result: 42.10526315789474
#GOTOWY PERCEPTRON
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.linear_model import Perceptron
diag = pd.read_csv(r"C:\Users\igors\Downloads\breast_cancer\breast_cancer.csv")
X=diag[['area_mean','area_se', 'texture_mean', 'concavity_worst', 'concavity_mean']]
y=diag["diagnosis"]
y=y.apply(lambda n: 1 if n == "M" else -1)
scaler = StandardScaler()
scaler.fit(X)
X_std = scaler.transform(X)
X_train, X_test, y_train, y_test = train_test_split(X_std, y, test_size=0.2)
perceptron = Perceptron(eta0=0.01,
max_iter=100)
perceptron.fit(X_train,y_train)
y_pred = perceptron.predict(X_test)
good = y_test[y_test == y_pred].count()
total = y_test.count()
print('result: {}'.format(100*good/total))
result: 89.47368421052632
help(reshape)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_5612/2451989573.py in <module> ----> 1 help(reshape) NameError: name 'reshape' is not defined
pip install opencv-python
Requirement already satisfied: opencv-python in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (4.6.0.66) Requirement already satisfied: numpy>=1.19.3 in c:\users\igors\miniconda3\envs\igorpython\lib\site-packages (from opencv-python) (1.21.5) Note: you may need to restart the kernel to use updated packages.
import os
# https://pypi.org/project/opencv-python/
# pip install opencv-python
import cv2
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
from random import randint
from sklearn.model_selection import train_test_split
from sklearn.linear_model import Perceptron
PATH = r'C:/Users/igors/Downloads/four-shapes/shapes/'
IMG_SIZE = 64
shapes = ["circle", "square", "triangle", "star"]
labels = []
dataset = []
# From kernel: https://www.kaggle.com/smeschke/load-data
for shape in shapes:
print("Getting data for: ", shape)
#iterate through each file in the folder
for path in os.listdir(PATH + shape):
#add the image to the list of images
image = cv2.imread(PATH + shape + '/' + path)
image = cv2.resize(image, (IMG_SIZE, IMG_SIZE))
image = image.reshape(12288)
dataset.append(image)
labels.append(shapes.index(shape))
Getting data for: circle Getting data for: square Getting data for: triangle Getting data for: star
#opcjonalnie sprawdzamy jak wygladaja ksztalty
index = np.random.randint(0, len(dataset) - 1, size= 20)
plt.figure(figsize=(5,7))
for i, ind in enumerate(index, 1):
img = dataset[ind].reshape((64, 64, 3))
lab = shapes[labels[ind]]
plt.subplot(4, 5, i)
plt.title(lab)
plt.axis('off')
plt.imshow(img)
X = np.array(dataset)
X.shape
y=np.array(labels)
y.shape
(14970,)
#cwiczymy model
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
perceptron = Perceptron(max_iter=100, shuffle=True)
perceptron.fit(X_train, y_train)
perceptron.score(X_test, y_test)
y_pred = perceptron.predict(X_test)
#zle wyniki
bad_results = [(a,b,c) for (a,b,c) in zip(X_test[y_test != y_pred],
y_test[y_test != y_pred],
y_pred[y_test != y_pred] )]
bad_results
[(array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), 0, 1), (array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), 1, 0)]
#patrzymy obrazki zlych wynikow opcjonalnie
i=1
for x_t, y_t, y_p in bad_results:
img = x_t.reshape((64, 64, 3))
label_test = shapes[y_t]
label_pred = shapes[y_p]
plt.figure(figsize=(20,20))
plt.subplot(len(bad_results), 1, i)
plt.title(label_test +' - '+ label_pred)
plt.axis('off')
plt.imshow(img)
i+=1
idx = randint(0,y_pred.size)
plt.title(shapes[y_pred[idx]])
plt.imshow(X_test[idx].reshape((64,64,3)))
<matplotlib.image.AxesImage at 0x26bf1843ca0>
y_pred
array([3, 2, 3, ..., 3, 2, 0])
dataset
[array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), array([255, 255, 255, ..., 255, 255, 255], dtype=uint8), ...]